Открытие указанного файла в Excel из графического интерфейса — Borland C++
-
08-07-2019 - |
Вопрос
Я использую Borland Builder C++ 2009.Я хочу добавить в форму кнопку, которая позволит пользователю открыть указанный мной файл в Excel.Я не могу придумать, как это сделать.Я знаю, как связать его с другим кодом и исполняемыми файлами. Есть ли исполняемый файл Microsoft Excel, который я мог бы использовать?Как мне тогда указать файл?Будем очень признательны за любые подсказки по этому поводу или хотя бы место, где их можно поискать в Интернете.
Решение
Предполагая, что тип файла зарегистрирован в Excel, вы можете вызвать ShellExecute () для файла, используя " open " глагол. Это приведет к открытию файла, как если бы пользователь дважды щелкнул по нему в Проводнике, и вызовет 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\"");