Openoffice, приклади налаштування

Додавання нового шаблону:

Приклад, для Клієнта:

Клієнти - Клієнти - Шаблонна друк - Додати

Аналогічним чином можна додати шаблон договору:

Клієнти - Договори - Шаблонна друк - Додати

Розширення файлів. В OpenOffice Writer шаблони зберігаються з розширенням * .ott.

Збереження шаблону в OpenOffice Writer:

- Файл - Зберегти як ... - вибрати Шаблон текстового документа OpenDocument (* .ott)

В OpenOffice Calc шаблони зберігаються з розширенням * .ots.

Збереження шаблону в OpenOffice Calc:

- Файл - Зберегти як ... - вибрати Шаблон електронної таблиці OpenDocument (* .ots)

Шаблони в OpenOffice Writer

Шаблони можуть містити текст, таблиці та інші елементи форматування OpenOffice Writer. Як і в MS Office, в шаблон можна додати поля для заповнення і макроси.

Створення полів в шаблоні:

Вставка - Поля - Додатково ... - перейти на вкладку "Функції" - Поле введення - ввести в поле Підказка реквізит, наприклад "Кліент.Імя" - Вставити - Закрити

Ті поля, які будуть в подальшому використовуватися в макросі іменуються наступним чином:

Вставка - Поля - Додатково ... - перейти на вкладку "Функції" - Поле введення - Вставити - ввести найменування поля, наприклад "Ім'я" - ОК - Закрити

Створення скриптів в шаблоні:

У шаблон також можна додати процедуру VBA, для цього в вікні редагування шаблону потрібно вибрати вже існуючий макрос або додати новий.

При написанні скриптів для OpenOffice Writer і OpenOffice Calc в скрипт передається наступне:

Set oXPL = NamedObjects. ParamList () - список параметрів об'єкта.

Set oApp = oXPL.VariantProperty ( "Додаток") - інтерфейс програми, в яке буде відбуватися висновок.

Set oDesktop = oXPL.VariantProperty ( "ДОПОБ'ЕКТ1") - містить інтерфейс робочого столу OpenOffice

Set oDoc = oXPL.VariantProperty ( "ДОПОБ'ЕКТ2") - містить інтерфейс документа

Для звернення до полю в макросі використовується функція getPropertyValue ( "Content"), результатом якої є значення підказки, для присвоєння даного полю значення - setPropertyValue "Content", нове значення.

Для того, щоб знайти на шаблоні потрібне поле в макросі використовується перебір всіх полів, розташованих на шаблоні. Функція getTextFields (). CreateEnumeration () створює список всіх полів шаблону. Поля можна перебирати або поки вони не закінчилися (функція hasMoreElements () в цьому випадку повертає значення True), або поки не знайшлося потрібне поле (порівнюємо значення підказки поля (getPropertyValue ( "Content")) з потрібним значенням).

Для запису в поточне поле використовується функція setPropertyValue "Content", нове значення

Set oFields = oDoc.getTextFields (). CreateEnumeration () 'список всіх полів шаблону записується в oFields

Do While (oFields.hasMoreElements ())

Set oElem = oFields.nextElement ()

If oElem.supportsService ( "com.sun.star.text.TextField.Input") Then

If oElem.getPropertyValue ( "Content") = "Дата" Then

Функція oElem.supportsService ( "com.sun.star.text.TextField.Input") перевіряє текстове це поле чи ні.

Приклад виведення суми прописом в кінці документа:

Set oXPL = NamedObjects.ParamList ()

Set oApp = oXPL.VariantProperty ( "Додаток")

Set oDesktop = oXPL.VariantProperty ( "ДОПОБ'ЕКТ1")

Set oDoc = oXPL.VariantProperty ( "ДОПОБ'ЕКТ2")

Set wf = CreateObject ( "wfintools.comtools")

sFields = wf.Propis ( "45.1", "978")

Set oEnd = oDoc.getText (). GetEnd ()

If Not oEnd Is Nothing Then

Приклад перетворення формату дати:

Set oXPL = NamedObjects.ParamList ()

Set oApp = oXPL.VariantProperty ( "Додаток")

Set oDesktop = oXPL.VariantProperty ( "ДОПОБ'ЕКТ1")

Set oDoc = oXPL.VariantProperty ( "ДОПОБ'ЕКТ2")

Set wf = CreateObject ( "wfintools.comtools")

dstr = G2C .GetSysParam ( "Дата опердня")

oDoc.getText (). setString ( "Дата опердня" vbNewLine wf.FormatDate (dstr))

Шаблони в OpenOffice Calc

Створення скриптів в шаблоні:

У скрипт OpenOffice Calc передаються ті ж дані, що і в OpenOffice Writer.

Для того, щоб записати дані в клітинку, потрібно спочатку до неї звернутися за допомогою функції getCellByPosition (N1, N2), де N1 - номер комірки (нумерація осередків починається з 0) по горизонталі, N2 - номер по вертикалі. Потім записати дані, використовуючи функцію SetString () (для тексту) або SetValue () (для чисел).

Set oXPL = NamedObjects .ParamList ()

Set oApp = oXPL.VariantProperty ( "Додаток")

Set oDesktop = oXPL.VariantProperty ( "ДОПОБ'ЕКТ1")

Set oDoc = oXPL.VariantProperty ( "ДОПОБ'ЕКТ2")

'В oSheet передається значення поточного листа

Set oSheet = oDoc.CurrentController.getActiveSheet ()

Set oCell_1 = oSheet.getCellByPosition (1, 2)

- змінна oCell_1 вказує на другу по горизонталі і третю по вертикалі осередок (В3), в яку записується "текст".

Приклад складання списку відкритих договорів клієнта:

Set oSheet = oDoc.CurrentController.getActiveSheet ()

Set Client = NamedObjects .ActiveObject ( "Клієнт")

Startdate = G2C .GetSysParam ( "Дата опердня")

'Змінної Dogovor через об'єкт "Клієнт" присвоюється об'єкт "Договору"

Set Dogovor = client.GetMultiLink ( "Договору")

If Dogovor.GetFirst () Then

nbsp Set Dog = Dogovor.GetBaseObject (True)

dataO = Dog.GetProperty ( "ДатаОткритія". Nothing) .GetStr ()

dataz = Dog.GetProperty ( "ДатаЗакритія". Nothing) .GetStr ()

'Якщо дата відкриття договору менше дати опердня і договір не закрите (тобто в' поле дата закриття варто порожнє значення), то в клітинку з номером (i, 6) 'заноситься номер, а в (i, 9) дата відкриття договору зі зміною в ній знаків ' "/" на "."

If (CDate (dataO)

Схожі статті