【发布时间】:2008-11-21 20:13:28
【问题描述】:
我正在使用 Borland Builder C++ 2009。我想在表单中添加一个按钮,允许用户在 Excel 中打开我指定的文件。我想不出该怎么做。我知道如何与其他代码和可执行文件链接——是否有我可以使用的 Microsoft Excel 可执行文件?那我怎么能指定文件呢?对此的任何提示,或者至少是在线查看的地方,将不胜感激。
【问题讨论】:
标签: c++ excel c++builder
我正在使用 Borland Builder C++ 2009。我想在表单中添加一个按钮,允许用户在 Excel 中打开我指定的文件。我想不出该怎么做。我知道如何与其他代码和可执行文件链接——是否有我可以使用的 Microsoft Excel 可执行文件?那我怎么能指定文件呢?对此的任何提示,或者至少是在线查看的地方,将不胜感激。
【问题讨论】:
标签: c++ excel c++builder
假设文件类型已在 Excel 中注册,您可以使用“打开”动词对该文件调用 ShellExecute()。这将导致文件被打开,就像用户在资源管理器中双击一样,并会调用 Excel。
如果不是这种情况,并且您可以假设已安装 Excel,则可以改为将“excel”作为应用程序传递给 ShellExecute(),并将文件的路径作为参数。 (请注意,我没有对此进行测试,但它在运行对话框中工作,所以我认为它也应该在 ShellExecute() 中工作)。
【讨论】:
谢谢,安迪。我按照您的建议使用 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);");
看这个页面:http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx
它似乎想要你想要执行打开的文件作为第三个参数和第四个参数的目录。
【讨论】:
System() 命令我认为应该足够了。
对于任何 Windows 应用程序,我们可以使用 .exe 文件的位置和文件路径打开任何文件。
例如,
system("PATH C:\\Program\ Files\\Microsoft\ Office\\OFFICE11;%PATH% & excel \"C:\\Documents and Settings\\User\\Desktop\\ExcelFile.xls\"");
【讨论】: