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

Главная категория => Макросы => Тема начата: Dr_Lecter от 18 сентября 2015, 11:06

Название: Доступ к полям пользователя Writer типа "Переменная"
Отправлено: Dr_Lecter от 18 сентября 2015, 11:06
Не могу понять как получить доступ к объекту поля пользователя типа "Переменная" по его имени, которое задается
Вставка > Поля > Дополнительно > Переменные > "Задать переменную"

Суть проблемы - делаю управляемый шаблон медицинского протокола (во вложении текущая версия)
Требуются поля ввода с типом "ДатаВремя".
Если создавать поле ввода на основе поля пользователя, то в не зависимости от его типа главного поля тип поля ввода выбрать нельзя.
И поэтому при вводе даты она не вводится как строка, автоматически не распознается.

Если сначала задать переменную с форматом Дата а потом на ее основании создать поле пользователя с форматом Дата то все отлично, понимает и точки и дефисы и слеши и конвертирует в дату верно.

Как получить доступ к полю пользователя я понял:
Конструкция типа
sNeedFieldName = "com.sun.star.text.FieldMaster.User.[Имя нужного поля документа]"
oFieldMasters = ThisComponent.getTextFieldsMasters()  и далее
oNeedField = oFieldMasters.getByName(sNeedFieldName)
oNeedField.Content

Но по поводу полей возникающих через "Задать переменную" / "Показать переменную" ничего найти не смог ни здесь, ни в книге Питоньяка ни в базовой документации по OOo Basic.

На англоязычном форуме тоже не нашел. Хотя может не так вопрос ставлю т.к. новичок.
Название: Re: Доступ к полям пользователя Writer типа "Переменная"
Отправлено: rami от 18 сентября 2015, 13:49
Цитата: Dr_Lecter от 18 сентября 2015, 09:06Но по поводу полей возникающих через "Задать переменную" / "Показать переменную" ничего найти не смог ни здесь, ни в книге Питоньяка ни в базовой документации по OOo Basic.
Смотрите документ (поля и макрос)
Название: Re: Доступ к полям пользователя Writer типа "Переменная" [РЕШЕНО]
Отправлено: Dr_Lecter от 18 сентября 2015, 19:11
rami Большое спасибо! Все получилось.  :beer: