Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поля MS Word [D7, XP]


Laner6666 ©   (2008-12-15 19:30:00) 

Доброго времени суток уважаемые!
В общем ситуация: в WORD-е 2007 создал поле Quote, ТЕКСТ=[Sity]
Выполняю следующий код:

try
// create word instance
wordapp := createoleobject('word.application');
except
showmessage('cannot start ms word.');
screen.cursor := crdefault;
exit;
end;

try
// open a word document
wordapp.documents.add(template := 'Файл........');

// show word
wordapp.visible := true;

// check if formfield exists and asign your text
if wordapp.activedocument.bookmarks.exists('[Sity]') then
wordapp.activedocument.formfields.item('[Sity]').result := 'ГОРОД312';
finally
wordapp := unassigned;
screen.cursor := crdefault;
end;


MS Word грузиться, но замены значения поля не происходит, поможте чем можте! ))
Всем спасибо большое!


YurikGL   (2008-12-16 06:20:00) [1]

Там есть исходники.
В исходниках можно посмотреть, как втыкает текст в нужное место с помощью объекта "надпись".

А в тексте статьи есть пример, как вставить текст в то место, где заранее стоит закладка.


Lamer6666   (2008-12-15 21:45:00) [2]

Стать хорошая многое подчерпнул, но непонятно как мне вставлять в нужные места текста документа значения из Delphi?


YurikGL   (2008-12-15 20:40:00) [3]


> if wordapp.activedocument.bookmarks.exists('[Sity]') then
>

bookmarks - набор закладок.
http://www.delphimaster.ru/articles/dbtoword/index.htmlздесь есть пример.
Советую пользоваться ими.


Lamer6666   (2008-12-15 20:01:00) [4]

Решил вообще убрать bookmarks

 try
 wordapp.documents.add(template := ExtractFilePath(Application.ExeName)+'\Reports\dp.doc');
 wordapp.visible := true;
 wordapp.activedocument.formfields.item('Sity').result := 'your text';
 finally
 wordapp := unassigned;
 screen.cursor := crdefault;
 end;

При выполнении выдает ошибку " Запрашиваемый номер семейства не существует"
: (


clickmaker   (2008-12-15 19:48:00) [5]

в инете много глючных примеров.
попробуй заменить bookmarks на formfields.
Судя по коду, так логичней


Lamer6666   (2008-12-15 19:46:00) [6]


> и почему ищещь его среди bookmarks?

: (
вообще с Word-ом не работал, нашел пример :
http://articles.org.ru/cfaq/index.php?qid=689
следую ему!


clickmaker   (2008-12-15 19:35:00) [7]

City, если уж на то пошло.
и почему ищещь его среди bookmarks?


Наверх

Титульная страница Поиск, карта сайта Написать письмо