|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.06.2012, 18:24 | #1 |
Регистрация: 15.04.2012
Сообщений: 9
|
Word.Application
Доброго времени суток!!!
У меня возникла небольшая проблема с сохранением документа Word из моей программы. Использую OleObject. Прописываю команду SaveAs(Имя файла). Программа выдает ошибку "Вызов отклонен". Перепробовал все. Подскажите, в чем проблема? P.S. И еще один маленький нюанс, при создании документа выходит уведомление "Неверно указана единица измерения". Это можно как то убрать? |
06.06.2012, 18:32 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
ИМХО если пишет что вызов отклонен значит Ворд чем-то занят. Например ждет от пользователя какого-то ввода. Возможно шаблон кривоват...
Так сразу не скажешь.
I'm learning to live...
|
06.06.2012, 18:43 | #3 |
Регистрация: 15.04.2012
Сообщений: 9
|
Я не беру шаблон, просто открываю документ, добавляют текст и пытаюсь сохранить в другом месте и под другим именем.
|
06.06.2012, 19:08 | #4 |
Форумчанин
Регистрация: 06.02.2011
Сообщений: 149
|
Код глянуть можно?
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
|
06.06.2012, 20:01 | #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; ------------------------------------------------------------ |
06.06.2012, 20:18 | #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, и дальше всё наладится. Очень сильное колдунство, но - работает. Когда-нибудь, как время будет, попробую забороть это (:
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
|
06.06.2012, 22:40 | #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 |