LibreOffice, использующий ячейки с макросом в документе Writer
У меня есть таблица калькуляции LibreOffice и документ писателя. Я хочу использовать поля из таблицы внутри документа. Это работает для "обычных" полей.
Но одно поле (штрих-код) имеет формулу из дополнительного макро / скрипта. Эта формула отлично работает в Calc. Но если я открываю "источник данных" в писателе, я вижу только "# ЗНАЧЕНИЕ". Также, если я распечатываю документ, там не вставляются правильные данные.
Использование макроса включено в писателе и в Calc. Что я могу сделать, чтобы получить нужные данные в моем документе писателя?
с наилучшими пожеланиями Йоханнес
1 ответ
Сначала перейдите в Инструменты -> Макросы -> Организовать макросы -> LibreOffice Basic. Разверните до Мои макросы -> Стандарт -> Модуль1. Это местоположение находится в каталоге пользователя. Управление местоположениями подробно объяснено на https://ask.libreoffice.org/en/question/35598/where-are-lo-basic-macros-stored/.
Вставьте следующую пользовательскую функцию.
Function EAN13_Barcode(index As Integer)
myArray = Array(_
"9783598215001","9783598215018","9783598215025",_
"9783598215032","9783598215049","9783598215056",_
"9783598215063","9783598215070","9783598215087")
EAN13_Barcode = myArray(index)
End Function
Настройте электронную таблицу следующим образом (первое изображение показывает формулы, второе показывает значения).
Примечание. Если макрос встроен в документ Calc, а не хранится в пользовательском каталоге, то EAN13_Barcode()
будет работать только в Calc, а не в Base или Writer.
Затем создайте ссылку на базу данных, перейдя в File -> New Database.
- Подключиться к существующей базе данных: электронная таблица.
- Перейдите к файлу.ods.
- Да, зарегистрировать базу данных для меня.
- Сохранить как новую Database.mdb.
Таблица в базе выглядит следующим образом.
Теперь в Writer, Просмотр -> Источники данных:
- Разверните до Новая база данных -> Таблицы -> Лист 1.
- Нажмите перед строкой для второй записи и перетащите в основную область документа.
- Вставьте данные как: поля.
- Столбцы базы данных имеют штрих-код и полное имя.
- Нажмите ОК
Поля могут быть обновлены при изменении значений. Для этого сохраните электронную таблицу Calc и документ Writer, закройте все и снова откройте документ Writer.