Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
5 / 5 / 4
Регистрация: 26.08.2010
Сообщений: 261
1

Поиск и замена текста в OpenOffice Writer

25.04.2014, 22:30. Просмотров 1743. Ответов 2
Метки нет (Все метки)

Стоит такая задача:
1. Нужно подключиться к открытому на данный момент документу (в OpenOffice Writer)
2. В открытом документе нужно найти определенные слова (Например Ф.И.О, Адрес, индекс и т.д.)
3. Открыть шаблон документа (Например Почтовый конверт)
4. Вставить в шаблон то что вытащили из документа к которому подключались

Для Word я все сделал, Но столкнулся с проблемой того, что у половины пользователей стоит OpenOffice потому нужно как-то решать задачу.

С подключением к открытому в Word документу нет никаких проблем:
Delphi
1
wdApp := GetActiveOleObject('Word.Application');
а вот в OpenOffice такой финт не проходит:
Delphi
1
wdApp := GetActiveOleObject('com.sun.star.ServiceManager');
Выдает:
First chance exception at $7C812AFB. Exception class EOleSysError with message 'Операция недоступна'. Process Dogovor.exe (4024)

Подскажите пожалуйста как мне решить задачу.
Если проще, то как получить данные из открытого документа на данный момент и записать их в нужный, заготовленный зарание шаблон.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2014, 22:30
Ответы с готовыми решениями:

Поиск и замена текста в memo
Нужна помощь в написании небольшой программы. Есть текстовый документ с которого загружается...

Поиск и замена текста в Excel
Доброго времени суток! такая задача возникла: искать слово в книге Excel, которое в edit и менять...

Поиск и замена текста в большом количестве файлов
Всем привет! Появилась необходимость в огромном количестве друзей для браузерки на мейл.ру плюс...

Поиск текста по документу и замена его на свой текст
Пытаюсь сделать поиск с заменой текста в документе. Все работает но дело в том что он меняет лишь...

2
4355 / 3613 / 1220
Регистрация: 14.04.2014
Сообщений: 17,028
Записей в блоге: 17
26.04.2014, 00:22 2
http://re-stichka.narod.ru/ooprint/ooprint.html
0
5 / 5 / 4
Регистрация: 26.08.2010
Сообщений: 261
26.04.2014, 16:06  [ТС] 3
Используя материал предоставленный по адресу который вы дали, пробую подключиться так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TOpenOffice.ooInit(dotname:string);
var sb:string;
begin
 
  //если шаблон пустой, то документ создается с чистого бланка
  if dotname=''
  then
    sb:='private:factory/swriter'
  else
    sb:='file:///'+dotname;
 
  StarOffice:=CreateOleObject('com.sun.star.ServiceManager');
  StarDesktop:=StarOffice.CreateInstance('com.sun.star.frame.Desktop');
  Document:=StarDesktop.LoadComponentFromURL(sb,'_blank',0,VarArrayCreate([0,-1],varVariant));
 
end;
В таком случае создается чистый документ, а мне нужнго подключиться к тому документу, который в данный момент запущен. Он не сохранен и имени его не знаю. Он просто открыт в данный момент.
Как это реализовать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2014, 16:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Поиск текста по документу и замена его на свой текст
Вот есть маркер в Вворде типа $FIO$-2е штуки. В одну надо записывать Фамилию Имя Отчество полностью...

Эмуляция OpenOffice Writer: Формат - Абзац
Реализуйте программу, эмулирующую внешний вид заданной экранной формы : Эмуляция OpenOffice...

Вставка графиков из MathCAD в OpenOffice Writer/MS Word
Хотелось бы вставлять графики с подписями по осям (рис. 02), но, видимо из-за проблем с кодировкой,...

Как в OpenOffice Writer сделать автоматическое содержание?
Как в OpenOffice Writer сделать автоматическое содержание?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.