Gadzila |
Отправлено: 02.06.2003, 11:16 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 21
|
Необходимо документы выводить в Word-е и Excel-е.
Решил воспользоваться компонентами WordApplication и ExcelApplication.
Tmp = "c:\\nal\\Podatkova.dot";
Chang = wdDoNotSaveChanges;
Frmt = Unassigned;
RtDcmnt = Unassigned;
WordApplication1->Connect();
WordApplication1->Documents->Add(&Tmp, EmptyParam);
// Вставка в документ необходимых данных
WordApplication1->ActiveDocument->PrintOut();
try // ловим ошибки при закрытии
{
WordApplication1->ActiveDocument->Close(Chang,Frmt,RtDcmnt);
}
catch (Exception &exception)
{
Application->ShowException(&exception);
WordApplication1->ActiveDocument->Close(Chang,Frmt,RtDcmnt);
}
WordApplication1->Quit(Chang,Frmt,RtDcmnt); // Реакция на FormDestroy
WordApplication1->Disconnect();
Тут все отрабатывает без сучка и задоринки, однако после закрытия приложения
Word начинает задавать глупые вопросы: сохранять ли документ? И так столько раз,
сколько документов создавалось!
Что касается Excel:
ExcelApp->Connect();
XLTemplateFile = "C:\\nal\\reestr.xls";
ExcelApp->Workbooks->Add(&XLTemplateFile); // ??????????????????????
// Затык совсем нелепый — не могу разобраться какие параметры передавать в функцию Add?! |
|
Anry |
Отправлено: 06.06.2003, 15:39 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 56
|
Я бы тебе посоветовал работать не с этими компонентами, а при помощи объекта типа Variant. Список основных функций работы с Excel кажется есть в каком-то FAQ.
|
|
pasha |
Отправлено: 06.06.2003, 19:46 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 62
|
По-поводу
QUOTE | Тут все отрабатывает без сучка и задоринки, однако после закрытия приложения
Word начинает задавать глупые вопросы: сохранять ли документ? И так столько раз,
сколько документов создавалось |
Естественно, когда Вы изменяете документ Word (да и в любом другом
редакторе), и пытаетесь выйти, не сохранив документ,
редактор спрашивает Вас — сохранять изменения или нет.
Чтобы избежать этого вопроса, можете сами сохранять
все ваши документы перед закрытием:
WordApplication1->ActiveDocument->Save();
и тогда, при закрытии, вопроса сохранять или нет быть не должно:
...
WordApplication1->ActiveDocument->PrintOut();
WordApplication1->ActiveDocument->Save();
try // ловим ошибки при закрытии
{
...
---------------
Кстати, приведите пожалуйста более полный код работы с Word
(с описанием переменных)
Отредактировано pasha — 6 Jun 2003, 19:51 |
|
|