Главная страница
    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
3-1088935800
white
2004-07-04 14:10
2004.07.25
Как создать БД с другим именем пользователя и паролем?


9-1081921850
Мараканец
2004-04-14 09:50
2004.07.25
Шейдеры


1-1089294780
cvg
2004-07-08 17:53
2004.07.25
Проблема с CommaText


1-1089717680
Relaxxx
2004-07-13 15:21
2004.07.25
Как мне к каждому итемсу комбоБокса прицепить уникальный номер??


14-1088701331
DeadMeat
2004-07-01 21:02
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский