Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть 2. Основы офисного программирования.doc
Скачиваний:
0
Добавлен:
07.02.2020
Размер:
4.04 Mб
Скачать

9.3.Переменные документа

В каждом документе определен набор переменных, которые можно добавлять, изменять и использовать с помощью VBA. Эти переменные, в частности, могут использоваться при работе с полями. Следующий пример показывает, как можно добавить переменную документа в активный документ, изменить ее значение и отобразить это значение на экране:

Sub AddDocVar()

With ActiveDocument

.Variables.Add Name:="DocVar", Value:="1"

MsgBox .Variables("DocVar").Value

.Variables("DocVar").Value = _ .Variables("DocVar").Value + 10

MsgBox .Variables("DocVar").Value End With

End Sub

Дополнительную информацию об использовании переменных документа можно получить в справочной системе в окне просмотра объектов.

Переменные документа могут использоваться при включении в текст документа полей, значения которых могут вычисляться. Код поля DocVariable дает возможность разместить в тексте значение заданной переменной в различных форматах. Например:

{ DOCVARIABLE "DocVar" \* DOLLARTEXT }

включает в текст значение переменной DocVar, причем результат (если значение переменной равно 91) будет отображаться в виде

девяносто один р. 00 коп.

а поле с кодом

{ DOCVARIABLE "DocVar" \* ARABIC }

покажет просто значение 91 в числовом формате, т.е. строку “91”.

9.4.Использование формул в документах Word

В документы Word можно вставлять поля, значения которых вычисляются по заданным кодом поля формулам. В этом случае код поля формируется по следующему правилу:

{ = Формула [\# "Числовой формат" ] }

Для вставки поля с математической формулой в таблицу или основной текст документа можно использовать команду Формула… (меню Таблица) или команду Поле… (меню Вставка). В открывшихся диалоговых окнах можно сформировать параметры для кода поля. Причем команда Формула предоставляет средства более высокого уровня: доступные для использования в формуле функции, закладки и форматы представления чисел можно выбрать из списков в диалоговом окне команды; а при вставке поля нужно набирать формулу вручную.

В представленном выше синтаксическом правиле записи кода поля, содержащего формулу, используются следующие обозначения:

Формула представляет собой выражение, операндами в котором могут быть числа или закладки, содержащие числа, поля, значениями которых являются числа, ссылки на ячейки таблицы и вызовы функций.

Для определения закладки нужно выделить числовое значение или поле, которое будет поставлено в соответствие закладке, и выполнить команду Закладка… меню Вставка. В открывшемся диалоговом окне нужно ввести имя закладки и щелкнуть кнопку Добавить. Закладку можно определить для любого выделенного фрагмента текста, в том числе и для таблицы. Существует и программный способ создания закладки – объекта семейства Bookmarks – с помощью метода Add. Введенные закладки можно использовать не только для поиска соответствующих фрагментов текста, но и для ссылок на эти объекты в формулах. Например, в тексте определены две закладки: «Число» и «Переменная». Первой закладке соответствует строка в тексте, содержащая число, а второй – поле со ссылкой на переменную документа. Тогда следующая формула позволяет сложить значение числа и переменной:

{ = Переменная+Число }

В выражении могут использоваться следующие операции: сложение (+), вычитание (–), умножение (*), деление (/), вычисление процентов (%), степени и корни (^), сравнения на равенство (=), меньше чем (<), меньше либо равно (<=), больше чем (>), больше либо равно (>=), не равно (<>).

В формулах могут использоваться ссылки на следующие функции: ABS(x) – абсолютное значение x, AND(x; y) – логическая операция «И» для операндов x и y, являющихся логическими выражениями, AVERAGE( ) – среднее значений операндов, включенных в список, COUNT( ) – число элементов в списке, DEFINED(x) – определение вычислимости выражения, заданного в качестве операнда (результат равен 1 (истина), если выражение x допустимо, или 0 (ложь), если оно не может быть вычислено), FALSE – 0 (нуль), IF(x; y; z) – условное выражение (возвращает значение y, если условие x истинно, или z, если оно ложно, y и z могут быть числами или строками), INT(x) – целая часть числа или значения выражения x, MIN( ) – наименьшее значение в списке, MAX( ) – наибольшее значение в списке, MOD(x; y) – остаток от деления x на y, NOT(x) – логическое отрицание, OR(x; y) – логическое «ИЛИ» для операндов x и y, являющихся логическими выражениями, PRODUCT( ) – произведение значений, включенных в список, ROUND(x; y) – значение x, округленное до указанного десятичного разряда (y), SIGN(x) – знак числа (1, если x > 0, или –1, если x < 0), SUM( ) – сумма значений, включенных в список, TRUE – 1.

Операндами в выражении, заданном формулой, будут результаты, возвращаемые этими функциями. Для функций с пустыми скобками допустимо любое число аргументов, разделенных точками с запятыми (‘;’). Аргументы могут быть числами, формулами или именами закладок. Ссылки на ячейки таблицы допустимы в качестве аргументов следующих функций: AVERAGE(), COUNT(), MAX(), MIN(), PRODUCT() и SUM().

В формулах, вставляемых в ячейки таблицы, можно ссылаться на другие ячейки. Для указания ячейки задаются ее координаты (т.е. название столбца и номер строки). Столбцы обозначаются латинскими буквами (символами ‘A’, ‘B’, ‘C’ и т.д.), а строки нумеруются с 1. При ссылках на ячейки в формулах в качестве разделителя между ссылками на отдельные ячейки используется запятая. Двоеточием разделяются ссылки на первую и последнюю ячейки в диапазонах.

Для организации ссылки на таблицу извне необходимо выделить эту таблицу и создать соответствующую ей закладку. Тогда ссылка на ячейки этой таблицы в формуле будет состоять из имени закладки и ссылки на ячейку или диапазон ячеек, следующей за закладкой через пробел. Например, если в документе есть таблица, состоящая из трех строк и трех столбцов, которая помечена закладкой «Таблица», то для суммирования всех записанных в ее ячейках значений нужно вставить поле с кодом

{ =SUM(Таблица A1:C3) }

Ссылки на ячейки в Word, в отличие от ссылок в Microsoft Excel, всегда являются абсолютными ссылками.

Пример использования таблицы, полей и формул для создания шаблона приведен ниже.

Полученные при вычислении по формуле результаты можно отформатировать, указав нужный формат, т.е. «шаблон» для отображения значений.

Числовой формат указывает способ отображения полученного результата: число знаков в дробной части, способ отображения чисел с различными знаками и т.п.

Числовые форматы, используемые в формулах, сходны с форматами, которые задаются в Excel. В таком шаблоне можно задать формат представления положительных чисел, отрицательных чисел, нулевых значений. Таким образом, общий вид числового формата, используемого в формулах следующий:

Положительные; Отрицательные; Нулевые

Числовой формат в формуле может быть опущен или может быть задан в «сокращенном» формате, т.е. в виде “Положительные” или “Положительные; Отрицательные”. Кроме того, можно определить текст, который будет добавляться к вычисленному значению при выводе, и номер.

Формат, заданный в виде “Положительные” задает общий «шаблон» для вывода всех значений.

Формат “Положительные; Отрицательные” определяет различные форматы для положительных и отрицательных значений.

Далее описаны элементы числовых форматов, символы, которые могут использоваться в формулах для форматирования результатов вычислений (табл. 5).

Простые числовые форматы, которые не содержат ни пробелов, ни текста необязательно заключать в кавычки, например: ПродажиЗаМарт \# ##0,00 }. Более сложные числовые форматы, содержащие текст или пробелы, необходимо заключать в кавычки полностью. При вставке поля с помощью команды Поле (меню Вставка) кавычки добавляются к числовому формату автоматически.

Формулы могут содержать другие поля, например, в следующем фрагменте текста поле, содержащее формулу, вычисляет полное число страниц в документе, нумерация страниц которого начинается с 47:

Стр. { PAGE } из { = (47 - 1) + { NUMPAGES } }

результат изображается в виде «Стр. 51 из 92».

Более подробно информацию о работе с полями, таблицами и об использовании формул можно получить в справочной системе.