在Borland C++中从GUI打开指定的Excel文件

4

我正在使用Borland Builder C++ 2009。我想向一个窗体添加一个按钮,允许用户打开我指定的Excel文件。我不知道该怎么做。我知道如何链接其他代码和可执行文件,但是有没有可以使用的Microsoft Excel可执行文件呢?然后如何指定文件呢?如果能提供任何提示或至少在线查找的地方,将不胜感激。

4个回答

4
假设文件类型已经在Excel中注册,您可以调用ShellExecute()函数打开该文件,并使用“open”动词。这将导致该文件被打开,就像用户在资源管理器中双击一样,并且会启动Excel。
如果不是这种情况,并且您可以假设Excel已安装,您可以将“excel”作为应用程序传递给ShellExecute(),并将文件路径作为参数传递。(请注意,我没有测试过这个方法,但从运行对话框中可以看出,所以我认为它也应该适用于ShellExecute())。

3

谢谢你,Andy。如你所建议,我正在使用ShellExecute(),将Excel作为应用程序并将文件路径作为参数传递。它可以打开Excel,但似乎无法找到该文件。我已经尝试移动该文件,输入整个路径,部分路径等,但没有改变。这是我使用的代码:

ShellExecute(NULL, "open" ,"Excel.exe", "C:\\Documents and Settings\\Lab1\\My Documents\\Waypoint Tool.xls", NULL, SW_SHOWNORMAL);

因此,我需要找出为什么它无法找到这个文件。

感谢您建议使用ShellExecute。我认为我正在走上正确的轨道!


尝试使用“excel”而不是“Excel.exe”。Excel.exe可能不在您的路径中,但安装Office会将“excel”添加为启动Excel的特殊关键字(这是通过注册表以某种方式完成的,我暂时忘记了详细信息)。 - Andy

3

尝试:

print("ShellExecute(NULL, "open" ,"Waypoint Tool.xls", "C:\\Documents and Settings\\Lab1\\My Documents\\", NULL, SW_SHOWNORMAL);");

看一下这个页面:http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx
似乎它想要你想要执行打开的文件作为第三个参数,目录作为第四个参数。

1

System() 命令应该足够了。 对于任何 Windows 应用程序,我们可以使用 .exe 文件的位置和文件路径打开任何文件。

Eg.,

system("PATH C:\\Program\ Files\\Microsoft\ Office\\OFFICE11;%PATH% & excel \"C:\\Documents and Settings\\User\\Desktop\\ExcelFile.xls\"");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接