Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

Word.Application   Найти похожие ветки 

 
MisteRR ©   (2004-07-13 10:42) [0]

Здравствуйте, уважаемые Мастера!
Прошу прощения за наверняка избитый вопрос, однако, найти работающий пример мне не удалось. В чем беда мне самому понять тоже не удалось.
************************************
Хочется сформировать пакет документов, которые представляют из себя бланки и каждый раз в них подставляется различная информация (ФИО, адрес и т.п.).
В силу ряда причин наиболее простое решение хранить бланки в виде Word-документов. Места для подстановки обозначить закладками.
************************************
Var Wrd : Variant;

Wrd := CreateOleObject("Word.Application");
Wrd.Visible := True;
Wrd.Documents.Open("C:\123.doc");

Далее пробовал различные способы обращения к соответствующему объекту (Bookmark), но все время получал ошибку.

Wrd.ActiveDocument.BookMarks("Bookmark1").Range := "123456";

Wrd.ActiveDocument.BookMarks(0).Range := "123456";

Wrd.ActiveDocument.BookMarks["Bookmark1"].Range := "123456";

Первый вариант железно срабатывает в родной среде (Excel, Access).
Господа, может кто подскажет, что я делаю не так?


 
KSergey ©   (2004-07-13 11:40) [1]

Вроде на этом сайте я и видел про использование закладок в шаблонах ворда.. с примерами....


 
MisteRR ©   (2004-07-13 14:55) [2]

Я, честно говоря, и на этом сайте поискал, но нашел примеры работы только с объектом Word.Basic. С ним дела обстоят еще сложнее. У меня нет таже описания его объектов, методов, свойств.
Никто не пользуется такими вещами?


 
KSergey ©   (2004-07-13 15:14) [3]

тогда можно тут еще посмотреть

http://www.delphikingdom.com/asp/itemq.asp?mode=1&itemid=3

А вообще яндекс - и давно бы нашли все что нужно
http://delphiworld.narod.ru/_tech_.html
Там раздел отдельно про автоматизацию MS Office. И про закладки.

А так ж все статьи из раздела обязательно прочитать!!! Хотя бы заголовки ;)
http://www.delphikingdom.com/asp/section.asp?ID=16


 
evvcom ©   (2004-07-13 15:56) [4]

В Word и Excel есть удобная веСЧь "Запись макроса". Вот какой макрос получился для поиска закладки:
   Selection.GoTo What:=wdGoToBookmark, Name:="Закладка"
   With ActiveDocument.Bookmarks
       .DefaultSorting = wdSortByName
       .ShowHidden = False
   End With
Теперь экспериментируй.


 
MisteRR ©   (2004-07-13 16:45) [5]

KSergey, огромное человеческое спасибо!
Вот уж эти приведения типов и всякая такая тупнина примитивщина VB! Для Delphi нужно указывать класс Item, потомок Bookmark, а VB и без этого хорошо, оказывается...


 
YurikGL ©   (2004-07-13 21:02) [6]


> MisteRR ©   (13.07.04 10:42)  


> Места для подстановки обозначить закладками.

Пример с закладками я приводил, но его не помню т.к. писал на основе макроса VBA.

По сабжу, делал аналогичные вещи. Метода такова.
1) Создаем бланк с расширением, например *.do_, что бы во ворде ничего не испортили.
2) В бланке в нужных местах делаем объекты типа надпись и через макрос ищем их названия и как в них текст занести.
3) В делфи вставляем код из VBА и изменяем что надо.

Такой способ подходит, когда нужно вставлять мало текста, например для формирования титульного листа или колонтитулов.

Способ с закладками реализуется тоже легко.


 
European   (2004-07-13 23:53) [7]

Как-то раньше я пытал Мастеров по поводу работы с Вордом, однако многие вопросы так и были без ответов. А потом я начал пользоваться записью макросов, как советовали ранее, и многие вопросы отпали



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
14-1089290277
Tot
2004-07-08 16:37
2004.07.25
Чтение нестандартных дискет


1-1089695944
bobj
2004-07-13 09:19
2004.07.25
Обработка TreeView


4-1087284231
bon
2004-06-15 11:23
2004.07.25
Создание ярлыка


11-1077751353
nester
2004-02-26 02:22
2004.07.25
Как обрабатывать сообщения в КОЛ проге, если она без формы.


3-1088399015
Sirus
2004-06-28 09:03
2004.07.25
Передача свежих данных на сервер по модему...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский