从GUI-Borland C+;在Excel中打开指定的文件+; 我使用Borland Builder C++ 2009。我想在表单中添加一个按钮,允许用户在Excel中打开我指定的文件。我想不出怎么做。我知道如何与其他代码和可执行文件链接——是否有我可以使用的Microsoft Excel可执行文件?那么我如何指定该文件?如果您对此有任何提示,或者至少有一个在线查看的地方,我们将不胜感激。

从GUI-Borland C+;在Excel中打开指定的文件+; 我使用Borland Builder C++ 2009。我想在表单中添加一个按钮,允许用户在Excel中打开我指定的文件。我想不出怎么做。我知道如何与其他代码和可执行文件链接——是否有我可以使用的Microsoft Excel可执行文件?那么我如何指定该文件?如果您对此有任何提示,或者至少有一个在线查看的地方,我们将不胜感激。,c++,excel,c++builder,C++,Excel,C++builder,假设文件类型已在Excel中注册,您可以使用“打开”动词对文件调用ShellExecute()。这将导致文件被打开,就像用户在资源管理器中双击一样,并将调用Excel 如果情况并非如此,并且您可以假设已安装Excel,则可以将“Excel”作为应用程序传递给ShellExecute(),并将文件路径作为参数。(请注意,我没有测试它,但它在运行对话框中工作,因此我认为它也应该在ShellExecute()中工作)。谢谢,Andy。我按照您的建议使用ShellExecute(),将Excel作为应用

假设文件类型已在Excel中注册,您可以使用“打开”动词对文件调用ShellExecute()。这将导致文件被打开,就像用户在资源管理器中双击一样,并将调用Excel


如果情况并非如此,并且您可以假设已安装Excel,则可以将“Excel”作为应用程序传递给ShellExecute(),并将文件路径作为参数。(请注意,我没有测试它,但它在运行对话框中工作,因此我认为它也应该在ShellExecute()中工作)。

谢谢,Andy。我按照您的建议使用ShellExecute(),将Excel作为应用程序,将文件路径作为参数。它可以打开Excel,但似乎找不到该文件。我尝试过移动文件,输入整个路径,部分路径,没有任何更改。以下是我使用的代码:

ShellExecute(NULL, "open" ,"Excel.exe", "C:\\Documents and Settings\\Lab1\\My Documents\\Waypoint Tool.xls", NULL, SW_SHOWNORMAL);
所以,我需要弄清楚为什么它找不到这个文件

不过,感谢您提出使用ShellExecute的建议。我想我是在正确的轨道上

试试看:

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

它似乎希望将要执行open on的文件作为第三个参数,并将目录作为第四个参数。

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

例如

尝试只使用“excel”而不是“excel.exe”。Excel.exe可能不在您的路径中,但当安装Office时,会添加“Excel”作为启动Excel的特殊键盘(这是通过注册表完成的,我忘记了细节)。
system("PATH C:\\Program\ Files\\Microsoft\ Office\\OFFICE11;%PATH% & excel \"C:\\Documents and Settings\\User\\Desktop\\ExcelFile.xls\"");