Открыть указанный файл в Excel из графического интерфейса - Borland C ++ - PullRequest
4 голосов
/ 21 ноября 2008

Я использую Borland Builder C ++ 2009. Я хочу добавить кнопку в форму, которая позволяет пользователю открывать файл в Excel, который я указываю. Я не могу думать о том, как это сделать. Я знаю, как связать с другим кодом и исполняемыми файлами - есть ли исполняемый файл Microsoft Excel, который я мог бы использовать? Как я мог указать файл тогда? Будем весьма благодарны за любые подсказки по этому поводу или, по крайней мере, место для поиска в Интернете.

Ответы [ 4 ]

4 голосов
/ 21 ноября 2008

Предполагая, что тип файла зарегистрирован в Excel, вы можете вызвать ShellExecute () для файла, используя глагол "open". Это приведет к открытию файла, как если бы пользователь дважды щелкнул по нему в Проводнике, и вызовет Excel.

Если это не так, и вы можете предположить, что Excel установлен, вы можете вместо этого передать «excel» в ShellExecute () в качестве приложения и путь к файлу в качестве параметра. (Обратите внимание, что я не проверял это, но это работало из диалогового окна «Выполнить», поэтому я думаю, что оно должно работать и из ShellExecute ()).

3 голосов
/ 04 декабря 2008

Попробуйте:

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

Кажется, что он хочет, чтобы файл, для которого вы хотите выполнить открытие, был третьим параметром, а каталог - четвертым.

3 голосов
/ 22 ноября 2008

Спасибо, Энди. Я использую ShellExecute (), как вы предложили, давая Excel в качестве приложения и путь к файлу в качестве параметра. Он работает, чтобы открыть Excel, но не может найти файл. Я попытался переместить файл, набрав весь путь, часть пути без изменений. Вот код, который я использую:

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

Итак, мне нужно выяснить, почему он не может найти этот файл.

Спасибо за предложение использовать ShellExecute. Я думаю, что я на правильном пути!

1 голос
/ 29 октября 2012

System() команды должно быть достаточно, я думаю. Для любого приложения Windows мы можем открыть любой файл, используя расположение файла .exe и путь к файлу.

Например.,

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