Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

7 Декабрь 2021, 18:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: ИЗ vb6 вставить текст в LibreOffice  (Прочитано 474 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AND1979
Участник
**
Offline Offline

Сообщений: 9


« Стартовое сообщение: 31 Октябрь 2021, 20:26 »

Добрый день! Помогите! Мне надо  из программы написанной на VB6 вставить текст из текстового поля в открытый документ LibreOffice на место курсора!
Записан
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 396


« Ответ #1: 31 Октябрь 2021, 20:36 »

Выделите текст в текстовом поле, скопируйте в буфер обмена (обычно сочетание клавиш Ctrl+C), перейдите в документ LibreOffice, вставьте с помощью комбинации клавиш Ctrl+V.
Записан

С уважением,
Михаил Каганский
AND1979
Участник
**
Offline Offline

Сообщений: 9


« Ответ #2: 31 Октябрь 2021, 20:45 »

А если программно?
У меня программы написанные на VB6 вставляли в фрагменты текста в документ майкрософт офис
или на место курсора
или осуществляли поиск по документу маркерных слов и заменяли их на текст из текстовых полей
Жизнь заставила перейти на LibreOffice
Как осуществить тоже самое? Это возможно? Нигде не могу найти информации

Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 568


« Ответ #3: 31 Октябрь 2021, 20:59 »

Изменения в открытом документе LibreOffice - это COM-автоматизация. Глючная, сложная, часто ломающаяся.

Есть более стабильный чем COM-вариант - UNO-автоматизация, но он слабо документирован.

Есть и другие способы передать что-то во Writer. Например можно на VB6 сохранить в 2-строчный TXT-файл нужной структуры, а Writer при открытии макросом на StarBasic/Python считает и отразит его содержимое в текстовых полях. Это будет проще, код вам могут подсказать на Форуме, и скорее всего он уже был.

Если речь идет о десятках однотипных документах с разными реквизитвами - проще данные записать в базу данных или "многострочный" CSV/TXT-файл и использовать готовых механизм слияния/рассылки, которые умеет условный/скрытый текст/абазцы/разделы (целые внешние файлы подключать и отображать). Самое важное в слиянии - оно не требует программирования и настраивается офисным народом вполне самостоятельно, главное - не бояться читать документацию и пробовать.  

UPD:
https://forumooo.ru/index.php/topic,8822.msg59817.html#msg59817
Только подключаться к TXT/CSV-файлу, если его выбрали как способ обмена данными.

https://www.openoffice.org/udk/common/man/tutorial/office_automation.html
« Последнее редактирование: 31 Октябрь 2021, 21:10 от economist » Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
AND1979
Участник
**
Offline Offline

Сообщений: 9


« Ответ #4: 31 Октябрь 2021, 21:12 »

Понял! Большое спасибо!
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!