Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Ошибка при закрытии Word в OleContainer


Автор: Janita 16.9.2008, 14:02
Создаю Word в OleContainer следующим образом:

Код

OleContainer1->CreateObject("Word.Document", false);
OleContainer1->DoVerb(ovShow);
mw=Variant::GetActiveObject ("word.application");


Потом пытаюсь сохранить файл и закрыть ворд:
Код

doc.OleProcedure("SaveAs", str.c_str(),9);
mw.OleProcedure("Quit");


Но при закрытии выдает ошибку, просто "Ошибка" без каких-либо пояснений. Как закрыть ворд?

Автор: Alexandering 16.9.2008, 15:15
Товарищ..
Есть очень действенный способ, связанные с дыркой WinWord`a.
Попробуй создать Ворд документ и просто туда скопировать строку(без ковычек)
"правоспособность-способность лица иметь гражданские права и нести обязанности"
Вуаля - Ворд сам закрывается, без каких-либо предложений сохраниться.
Так вот, это мона использовать, просто сохраняйте, что хотели
OleContainer1->CreateObject("Word.Document", false);
OleContainer1->DoVerb(ovShow);
mw=Variant::GetActiveObject ("word.application");
doc.OleProcedure("SaveAs", str.c_str(),9);


Ну и потом просто посылайте Ворду сообщение добавить нашу замечательную строку.
Таким мокаром вы добьетесь результата.
-----------------------------
Ну а если по-чесноку, то я как штатными средствами закрыть - я ненаю, и почему у вас не закрывает вашим способот, тоже.

Автор: volvo877 16.9.2008, 17:11
Цитата(Janita @  16.9.2008,  14:02 Найти цитируемый пост)
Как закрыть ворд? 
В твоем случае достаточно сделать:
Код
OleContainer1->DestroyObject();
, при этом и контейнер очистится и Word закроется...

Автор: Janita 17.9.2008, 07:12
Большое спасибо за помощь! С закрытием ворда разобралась.

А как в этом ворде открыть файл .mht?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)