![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 15.04.2012
Сообщений: 9
|
![]()
Доброго времени суток!!!
У меня возникла небольшая проблема с сохранением документа Word из моей программы. Использую OleObject. Прописываю команду SaveAs(Имя файла). Программа выдает ошибку "Вызов отклонен". Перепробовал все. Подскажите, в чем проблема? P.S. И еще один маленький нюанс, при создании документа выходит уведомление "Неверно указана единица измерения". Это можно как то убрать? |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
ИМХО если пишет что вызов отклонен значит Ворд чем-то занят. Например ждет от пользователя какого-то ввода. Возможно шаблон кривоват...
Так сразу не скажешь.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 15.04.2012
Сообщений: 9
|
![]()
Я не беру шаблон, просто открываю документ, добавляют текст и пытаюсь сохранить в другом месте и под другим именем.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 06.02.2011
Сообщений: 149
|
![]()
Код глянуть можно?
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 15.04.2012
Сообщений: 9
|
![]()
Конечно можно...
------------------------------------------------------------ procedure TForm1.Button1Click(Sender: TObject); var WApp,TemDoc: Variant; n: integer; begin WApp:=CreateOleObject('Word.Applica tion'); WApp.Documents.Open('D:\eNIKmatic\П рограммирование\TrainInspector\Расп исание\TrainTemplate.docx'); WApp.Selection.TypeText('Заголовок' ); WApp.Selection.TypeParagraph; WApp.Selection.TypeText('Подзаголов ок'); WApp.Selection.TypeParagraph; WApp.Selection.TypeParagraph; for n:=1 to 15 do begin WApp.Selection.TypeText('Строка №'+IntToStr(n)+#9+'00:00'+#9+'00 '+#9+'00:00'+#9+'00'+#13); end; WApp.Visible:=true; TemDoc:=WApp.ActiveDocument; TemDoc.SaveAs('D:\eNIKmatic\Програм мирование\TrainInspector\Расписание \РТИЩЕВО\9.docx'); WApp.Documents.Close; WApp.Quit; WApp:=UnAssigned; end; ------------------------------------------------------------ |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 06.02.2011
Сообщений: 149
|
![]()
Проверил у себя и был крайне изумлен тем, что рабочий и проверенный (на работе) код дома работать отказывается. Рассказываю.
1. Для начала сразу после CreateOleObject пишем WApp.Visible := True; (ну, чтобы постоянно не лазать в диспетчер задач и не снимать лишние процессы). 2. После того, как Word становится видимым - видим то самое прекрасное "Неверно указана единица измерения" (именно из-за этого MessageBox'а у тебя и появлялось "Вызов был отклонен" - как верно заметил Stilet - Word от тебя ожидал реакции). 3. Проводя дальнейшие бесчеловечные эксперименты, можно увидеть данное сообщение даже вот так: =========== W := CreateOleObject('Word.Application') ; W.Visible := True; W.DisplayAlerts := 0; exit; =========== Даже безо всяких открытий документов, не говоря об их сохранении. 4. Становится безумно интересно, задаем вопрос всезнающему гуглу, и он нам советует странное: запустить Word руками, с панели "Форматирование" убрать кнопку "Междустрочный интервал", закрыть Word, и дальше всё наладится. Очень сильное колдунство, но - работает. Когда-нибудь, как время будет, попробую забороть это (:
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 06.02.2011
Сообщений: 149
|
![]()
Продолжение разговора - убираем кнопку самостоятельно, из своей программы, без плясок вокруг всех компов, где будем запускать прогу:
http://www.ych-group.ru/232/1166/#continue
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дозапись в word или соеденить два word фала | Midnayt | C# (си шарп) | 1 | 09.05.2012 15:17 |
перенести документ Word (таблица) в MS Excel c сохранением форматирования или обеспечить всплывающие подсказки в Word | Serge_Bliznykov | Microsoft Office Word | 6 | 11.07.2011 11:02 |
?? Application | Татьяна_16 | Компоненты Delphi | 7 | 16.06.2011 16:44 |
Вызов процедуры из Word.application ? | NIKOLASCS | Microsoft Office Excel | 5 | 13.11.2009 00:21 |
Работать в Word, не открывая документы (работа с закрытыми документами Word) | Георгиевич | Microsoft Office Word | 10 | 07.09.2009 11:19 |