Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2011, 16:38   #1
Kasyan666
Пользователь
 
Аватар для Kasyan666
 
Регистрация: 15.03.2011
Сообщений: 11
Вопрос Открытие документа для дозаписи

Язык программирования - Delphi.

В ниже приведенной функции создается новый документ MS Word, и уже в него производится запись данных. Если, документ с таким именем уже существует, производится его перезапись.

Теперь, собственно, вопрос: с какими параметрами должен быть открыт существующий документ MS Word, чтобы дописать новые данные в его конец?
ИМХО, что-то связанно со значение параметра DocumentType. У меня ему присваивается значение wdNewBlankDocument, для создания нового документа, а что необходимо присвоить для использования старого?
Вложения
Тип файла: txt Code.txt (2.0 Кб, 137 просмотров)
Kasyan666 вне форума Ответить с цитированием
Старый 16.06.2011, 19:55   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Я ничё не понимаю в Delphi, но чтобы открыть существующий файл в Ворде, надо использовать метод Open. Этот метод возвращает объект-документ, т.е. вместо
WordDoc := TWordDocument.Create(nil);

надо писать что-то вроде

WordDoc := WordApp.Documents.Open(путь_к_файлу )
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 16.06.2011, 22:46   #3
Kasyan666
Пользователь
 
Аватар для Kasyan666
 
Регистрация: 15.03.2011
Сообщений: 11
По умолчанию

Да, чего-то я ступил... Спасибо, получилось действительно, что-то вроде этого.
Но, в новой функции (привожу ниже), новый текст записывается перед старым, а нужно наоборот! Есть ли, какой-нибудь параметр позволяющий на это повлиять, или придется очень тупо и топорно переписывать весь документ?
Вложения
Тип файла: txt Code1.txt (1.5 Кб, 130 просмотров)
Kasyan666 вне форума Ответить с цитированием
Старый 16.06.2011, 23:32   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Запишите макрорекордером в Ворде следующие действия:

Ctrl+End
ввод текста <Enter>
ввод еще текста

Посмотрите код, станет понятно.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 18.06.2011, 14:43   #5
Kasyan666
Пользователь
 
Аватар для Kasyan666
 
Регистрация: 15.03.2011
Сообщений: 11
По умолчанию

Цитата:
Selection.EndKey Unit:=wdStory
Selection.TypeText Text:="fhfhfhuhj8u7"
Selection.TypeParagraph
Selection.TypeText Text:="duifhieufheuifh"
Хм. И, что это дает?
Я знаю, как вбить текст в Word из Delphi. Я не знаю, как при открытии существующего документа с данными, перейти в его конец.

Есть ли, какой-нибудь параметр открытия в модуле WordXP у Delphi, для постановки курсора в конец открываемого документа?
Kasyan666 вне форума Ответить с цитированием
Старый 18.06.2011, 15:12   #6
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Вероятно, так:
Код:
      with WordApp.Selection do
        begin
          .EndKey Unit:=wdStory;
          .TypeText Text:="fhfhfhuhj8u7";
          .TypeParagraph;
          .TypeText Text:="duifhieufheuifh"; 
        end;
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 18.06.2011 в 15:17. Причина: Добавил ";" в конце каждой строки между begin и end - может, зря?
Казанский вне форума Ответить с цитированием
Старый 18.06.2011, 19:45   #7
Kasyan666
Пользователь
 
Аватар для Kasyan666
 
Регистрация: 15.03.2011
Сообщений: 11
По умолчанию

Спасибо, за подсказку!

В Delphi, это выглядит примерно, как в прилагаемом файле.
Вложения
Тип файла: txt Code2.txt (1.8 Кб, 129 просмотров)
Kasyan666 вне форума Ответить с цитированием
Старый 18.06.2011, 20:18   #8
Kasyan666
Пользователь
 
Аватар для Kasyan666
 
Регистрация: 15.03.2011
Сообщений: 11
По умолчанию

Тогда уж, заодно в догонку, кину код чтения Word'а из Delphi!
Вложения
Тип файла: txt Code3.txt (2.0 Кб, 135 просмотров)
Kasyan666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
открытие документа word balashova C++ Builder 0 11.04.2011 22:56
Delphhi 7 Открытие документа ms Word Aleks1988 Помощь студентам 14 14.05.2010 13:30
Открытие документа из приложения Jene4ka Общие вопросы Delphi 2 03.05.2010 15:47
Открытие вордовского документа в java Free239 Общие вопросы по Java, Java SE, Kotlin 6 03.04.2010 12:09
открытие документа в чужой программе joker Win Api 2 22.10.2007 16:59