powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запуск Excel из Builder
7 сообщений из 7, страница 1 из 1
Запуск Excel из Builder
    #34947365
AndrewP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запускаю из программы на C++ (Builder) Excel c формированной книгой:

Код: plaintext
1.
2.
AnsiString asRepFileName="C:\\DOCS\\Document.xls";
AnsiString PathDoc="C:\\DOCS\\";
ShellExecute( 0 ,"open",asRepFileName.c_str(), 0 ,PathDoc.c_str(),SW_SHOW);

Excel запускается и показывает книгу, но при этом одновременно открывается еще одна пустая книга из 3- листов. Как избежать открытия пустой книги?

P.S. Если открываю книгу из командной строки (не из программы),
авторExcel "C:\DOCS\Document.xls"
то открывается только одна книга (без пустых листов).
...
Рейтинг: 0 / 0
Запуск Excel из Builder
    #34947486
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, у меня открывается только указанная книга... версия экселя какая и/или ОС?
могу ещё посоветовать вот так сделать:
Код: plaintext
1.
2.
3.
4.
    AnsiString asRepFileName("C:\\DOCS\\Document.xls");
    AnsiString PathDoc("C:\\DOCS\\");
    AnsiString exe("Excel");
    ShellExecute( 0 ,"open",exe.c_str(),asRepFileName.c_str(),PathDoc.c_str(),
        SW_SHOW);
т.е. явно сказать, что надо эксель вызывать
...
Рейтинг: 0 / 0
Запуск Excel из Builder
    #34947527
AndrewP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, egorych, разобрался!

Дело в том, что файл "C:\\DOCS\\Document.xls" я формирую из CBuilder программы через:
Код: plaintext
App=Variant::CreateObject("Excel.Application");

При вызове готового отчета через ShellExecute, я не закрыл объект App

Код: plaintext
App.OleProcedure("Quit");
...
Рейтинг: 0 / 0
Запуск Excel из Builder
    #34947591
Leshij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Sun, 18 Nov 2007 18:53:47 +0300, AndrewP_ <nospam@sql.ru>; wrote:

> App=Variant::CreateObject("Excel.Application");
> При вызове готового отчета через ShellExecute, я не закрыл объект App
>
> App.OleProcedure("Quit");

Можно было просто показать запущеный Эксель, что-то типа
App.Visible = TRUE;
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Запуск Excel из Builder
    #34947610
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну типа лучше так :
Код: plaintext
App.OlePropertySet("Visible",true);
...
Рейтинг: 0 / 0
Запуск Excel из Builder
    #34948099
AndrewP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я знаю, но логика программы требует открытия сформированной книги отдельно от объекта App.
...
Рейтинг: 0 / 0
Запуск Excel из Builder
    #34948159
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrewP_Это я знаю, но логика программы требует открытия сформированной книги отдельно от объекта App.дело хозяйское
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Запуск Excel из Builder
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]