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.

Другие вопросы по тегам