Область визначення та час життя змінної

В OpenOffice.org Basic, як і у VBA є декілька рівнів визначення (доступності) змінних.

Змінні описані всередині коду прцедури чи функції є локальними змінними. Їх значення можна використовувати у макросі, у якому вони описані, після закінчення роботи макроса ці значення втрачаються.

Для того, шоб значення змінних не втрачалися після закінчення роботи макроса, використовують так звані статичні змінні, які позначають службовим словом Static замість Dim Це дозволяє змінній “жити” після завершення роботи процедури, аж до закінчення виконання всього коду проекту.

Змінні рівня бібліотеки, які спільно використовуються різними макросами всередині модуля описують на початку коду модуля інструкцією Dim (можна використовувати Public замість Dim). Значення таких змінних доступні для всіх макросів в усіх модулях у межах бібліотеки. Щоправда, значення таких змінних зберігаються лише під час роботи макросів бібліотеки, а коли всі макроси завершують роботу, значення змінних втрачаються.

Для того, шоб змінні рівня бібліотеки зберігали свої значення після завершення роботи макросів, їх описують з використанням ключового слова Global замість Dim.

Якщо для опису змінної на початку коду модуля використати службове слово Private, то отримаємо так звану «приватну» змінну рівня модуля, значення якої доступне лише для макросів модуля. Це дозволяє використовувати в різних модулях різні змінні з одинаковими іменами.