Формулы Visio 2002
— У тебя не найдется черной гелевой ручки?
— Была где-то. Или не была. Я скоро вообще, наверное, разучусь писать без клавиатуры.
— Хорошо же тебе живется! Впрочем, мне тоже было хорошо. До сегодняшнего дня.
— Кажется, ручки у меня перевелись. Вымерли, как динозавры. Или как пишущие машинки.
— Это потому, что тебе до сих пор не приходилось набирать формулы.
— Это потому, что я знаю, как их набирать.
Как разработчик образов, вы должны точно контролировать вид и поведение создаваемых вами образов. Вы можете изменить стандартное поведение образа и усложнить его с помощью редактирования определенных формул. Многие объекты Microsoft Visio (к примеру, страницы, документы, шаблоны, направляющие и стили) также имеют формулы, которые вы можете редактировать.
Эта глава познакомит вас с базовыми концепциями и терминами формул Microsoft Visio.
Объекты Microsoft Visio сохраняются «внутри» в виде набора формул. Например, когда вы смотрите на образ в окне чертежа, вы видите его воспроизведенным графически, и он при этом ведет себя согласно своим формулам.
Когда вы смотрите на тот же образ в окне ShapeSheet, вы видите лежащие в его основе формулы, которые определяют вид и поведение данного образа на чертежной странице. Эти два окна просто дают вам разные взгляды на один и тот же образ. В окне чертежа некоторые изменения, которые вы производите с объектом, вызываются его формулами. Например, когда вы перемещаете образ Инструментом Указатель, приложение Microsoft Visio пересчитывает формулы, определяющие центр вращения образа pin на странице, поскольку эти формулы отвечают за расположение образа на странице.
Однако окно ShapeSheet дает вам более точный контроль над видом и поведением объекта, поэтому для изменений его поведения вы можете редактировать формулы объекта. Где бы вы ни меняли объект — в окне чертежа или в окне ShapeSheet — все видоизменения автоматически сохраняются, когда вы сохраняете документ Microsoft Visio, который содержит данный объект.
Вывод на экран окна ShapeSheet
Многие объекты Microsoft Visio — образы, группы, направляющие линии и точки, страницы, документы, стили, вставленные объекты из других приложений — имеют лежащие в их основе формулы, которые вы можете редактировать и тем самым менять поведение объекта. Для того, чтобы отредактировать формулы объекта, вы должны сначала вывести на экран окно ShapeSheet для этого объекта.
Когда окно ShapeSheet активно, поля меню содержат команды для работы с формулами объекта.
Вы можете редактировать формулы в выбранной ячейке или в поле формулы.
Каждая часть ShapeSheet изображает набор связанных формул.
Как вывести на экран окно ShapeSheet для объекта на чертежной странице
1. Укажите объект в окне чертежа.
2. Для того, чтобы указать образ внутри группы (если настройка его группового поведения позволяет это), сначала укажите группу, а затем —образ.
Чертежные страницы, стили, документы Microsoft Visio и шаблоны в трафаретах тоже имеют формулы, которые вы можете редактировать.
Как вывести на экран окно ShapeSheet для страницы, стиля или документа
2. Нажмите, чтобы открыть или закрыть папку.
3. В окне Drawing Explorer нажмите правой кнопкой мыши на документе, странице или желаемом стиле, а затем выберите из ниспадающего меню команду Show ShapeSheet.
Совет: Вы можете вывести на экран и окно ShapeSheet для страницы, выбрав Window О Show ShapeSheet и ничего не указав на странице.
Как вывести на экран окно ShapeSheet для шаблона на трафарете
2. В трафаретном окне Microsoft Visio нажмите правой кнопкой мыши на шаблоне и выберите всплывающего меню команду Редактировать шаблон (Edit Master). Кроме того, вы можете вывести на экран чертежное окно шаблона, щелкнув правой кнопкой мыши на шаблоне в окне проводника Drawing Explorer и выбрав из всплывающего меню команду Edit Master.
Вывод на экран различных разделов окна ShapeSheet
Как показать или скрыть секции в окне ShapeSheet
2. В диалоговом окне Разделы (Sections) укажите секции, которые хотите выбрать и отключите секции, которые хотите скрыть, а затем нажмите ОК. В случае, если секция выглядит тусклой, то она не доступна, поскольку не существует для этого объекта.
Как добавить секции, используя окно ShapeSheet
2. В диалоговом окне Вставить секцию (Insert Section) укажите секции, которые хотите добавить к объекту, а затем нажмите ОК.
Секции отображаются в окне ShapeSheet в фиксированном порядке (не выше или ниже секции, которую вы можете видеть), поэтому вам придется прокрутить окно ShapeSheet, чтобы найти вновь вставленные секции.
Геометрические секции не похожи на другие типы тем. Объект может иметь несколько геометрических секций и только одну секцию других типов. Указав параметр Geometry в диалоговом окне Insert Section, вы добавите «пустую» геометрическую секцию, которая содержит ряд MoveTo и LineTo. Указав параметр Эллипс (Ellipse) или Бесконечная линия (Infinite Line), вы добавите геометрическую секцию, которая содержит ряд одного эллипса или бесконечной линии.
Совет: Вы можете расширить или сжать секцию в окне ShapeSheet, просто щелкнув на имени секции.
Что «контролируют» секции ShapeSheet
Каждая секция ShapeSheet контролирует некоторый аспект объекта Microsoft Visio. Как разработчику образов, вам необходимо знать, какие секции контролируют поведение, которое вы хотите изменить.
Как проверить образ в окне ShapeSheet
1. Укажите образ в чертежном окне.
2. Выберите Window-> Show ShapeSheet, чтобы вывести на экран окно ShapeSheet.
Выбор определенных рядов или ячеек в окне ShapeSheet выявляет соответствующий вертекс в чертежном окне.
Для этого, нарисуйте простой образ с прямыми линейными сегментами (к примеру, прямоугольник или многоугольник), а затем выведите на экран окно ShapeSheet. В окне ShapeSheet опробуйте любое из следующих действий и оцените воздействие на образ в чертежном окне:
Совет: В случае, если окно ShapeSheet изображает в ячейках значения, а не формулы (что часто случается с шаблонами, поставляемыми вместе с Microsoft Visio), то выберите View Ф Formulas, чтобы вывести на экран формулы. Вы можете вывести на экран ту секцию, которая была невидимой, или скрыть ту секцию, которая вас не интересует.
В чертежном окне вы можете поменять образ, используя чертежные инструменты и команды Microsoft Visio, а затем посмотреть, что происходит с формулами образа. Попробуйте любое из следующих действий:
В окне ShapeSheet попробуйте менять различные ячейки Protection от 1 до 0 и отмечайте изменения на указателях образа в чертежном окне. Делая ссылку, вы можете ввести в ячейки Protection слова TRUE или FALSE вместо 1 или 0, но ячейки всегда будут изображать либо 1, либо 0.
Формула — это выражение, которое содержит константы, функции, операторы и ссылки на ячейки. Приложение Microsoft Visio рассчитывает по формуле результат и переводит его в соответствующие единицы для ячейки, которая содержит формулу.
Некоторые формулы состоят из одной константы, но все формулы проходят через этот процесс пересчета и конвертации.
Выбрав определенную команду в меню View вы можете увидеть в окне ShapeSheet содержание любой ячейки, либо в виде значений, либо в виде формул.
Важно: Многое из того, что вы делаете с образами в режиме автоматизации, может быть сделано настройкой формул для этих же образов.
Ввод и редактирование формул в окне ShapeSheet
Приложение Microsoft Visio считает формулой все, что находится в ячейке — даже числовую константу, ряд или ссылку, но многие ячейки Microsoft Visio требуют особого типа (к примеру, размер), поэтому, все, что вы вводите в них, подразумевает единицу измерения (к примеру, дюймы или сантиметры). Инструментальный набор Microsoft Visio автоматически конвертирует естественный результат формулы в эквивалентный результат того типа, который требуется ячейкой, содержащей формулу. Например, ячейка FlipX в секции Shape Transform требует булеановский результат — Истинно (TRUE) или Ложно (FALSE). Следовательно, в ячейке FlipX любая формула, которая дает в результате положительное число, конвертируется в значение Истинно, а любая формула, которая дает в результате ноль, конвертируется в Ложно.
Для того, чтобы ввести формулу, укажите ячейку и введите ее либо в самой ячейке, либо в панели формулы.
Выберите ячейку, а затем введите или отредактируйте формулу и нажмите клавишу Enter.
Нажмите кнопку Cancel, чтобы отменить изменения в формуле.
Совет: Нажмите правой кнопкой мыши на ячейке ShapeSheet, чтобы вывести на экран ее всплывающее меню, содержащее команды, которые вы можете использовать для редактирования ячейки.
Функции и операторы
Функция выполняет одну хорошо определенную задачу. Большинство функций используют фиксированное число аргументов в качестве входных данных, хотя некоторые функции их вообще не имеют, другие пользуются различным числом аргументов, а есть и такие, которым необходимы параметрические аргументы. Несмотря на то, что тип и число аргументов зависят от функции, все функции имеют один и тот же общий синтаксис:
Функции, которые вы можете использовать в формулах Microsoft Visio могут быть:
Многие другие функции в приложении Microsoft Visio являются уникальными (к примеру, GUARD, GRAVITY или RUNADDON).
Важно: Некоторые функции, возникающие в формулах, генерируются приложением Microsoft Visio, но не указываются в диалоговом окне Insert Function. Эти функции начинаются с одной подчеркивающей линии (к примеру, _ELLIPSE_THETA). Они зарезервированы для внутреннего использования и не применяются в других формулах.
Оператор выполняет операцию, обычно комбинируя два операнда для получения результата. Многие операторы могут быть классифицированы как арифметические (сложение, вычитание, умножение и т.д.) или как логические (больше чем, меньше чем или равный такому-то), хотя один оператор (причинная связь) комбинирует два условия в одно. Операнд может быть константой (одним значением) или выражением (содержащим одну или более функций), которые пересчитываются к одному значению.
Давайте рассмотрим следующее выражение: 4 + 5*6. Так как старшинство у умножения выше, чем у сложения, то сначала 5 умножается * на 6, а затем их произведение 30 прибавляется к 4, выдавая результат — 34. Вы можете изменить порядок пересчета, группируя выражения в круглых скобках. Например: (4 + 5) * 6. Так как выражение 4 + 5 заключено в круглые скобки, оно будет рассчитываться первым, и только потом сумма 9 умножается на 6, выдавая результат — 54.
В случае, если выражения вставлены в круглые скобки, то приложение Microsoft Visio начинает счет с выражения в самом внутреннем наборе круглых скобок и затем переходит к более внешним выражениям.
Единицы измерения в формулах Microsoft Visio
Приложение Microsoft Visio рассчитывает результат формулы по разному в зависимости от ячейки, в которую вы внесли эту формулу.
Обычно ячейки, которые отвечают за расположение образа, размеры или угол, требуют пары число-единица измерения, то есть эта пара состоит из числа и единиц измерения, необходимых для интерпретации числа. Например, формула в ячейке Width имеет результат — 5. Но это может означать и 5 дюймов, и 5 сантиметров в зависимости от того, какие единицы измерения используются в данном чертеже. Другие ячейки не имеют присущих им единиц измерения и рассчитываются до условия («истинно», «ложно») или до индекса в зависимости от природы ячейки. Например, если формула в ячейке FillForegnd равна 5, то это означает, что из Палитры цветов чертежа берется цвет 5. А если тот же результат мы видим в ячейке LockWidt, то это означает «истинно» (только 0 равносилен «ложно») и вызывает блокировку ширины образа.
Для большей эффективности всегда указывайте в ваших формулах необходимые единицы измерения. Не полагайтесь на то, что приложение Microsoft Visio снабдит вас правильными единицами. В случае, если вы не указываете единицу измерения рядом с числом, результат будет рассчитываться с использованием внутренних единиц, определенных для ячейки, — а это могут быть страничные единицы, чертежные единицы или угловые единицы.
Страничные единицы измеряют размеры на печатаемой странице, включая типографскую систему мер. Страничные единицы обычно используются для толщины линий и размеров шрифта, которые не связаны с размерами чертежа.
Чертежные единицы указывают систему мер реального мира. Допустим, 50-метровый пруд (чертежная единица), который показан на бумаге 10-сантиметровым (страничная единица). К примеру, если вы введете в ячейку Ширина значение формулы, равное 50, а в чертежных единицах требуется пара — число и единица измерения — то приложение Microsoft Visio снабдит страницу набором чертежных единиц для режима умолчания и в соответствии с ними пересчитает формулу.
Угловые единицы измеряют угловые расстояния — вращение образа в градусах и радианах. В качестве внутренних единиц приложение Microsoft Visio использует дюймы для измерения расстояний, радианы для измерения углов и дни для измерения продолжительности.’
Формула Microsoft Visio, которая умножает или делит пространственные единицы, выдает результат в многомерных единицах. Эти единицы могут сохраняться в некоторых ячейках. Например, если образ в чертежных единицах имеет 5 футов в ширину и 10 футов в высоту, то формула = Width * Height дает результат 50 ft ^ 2 (50 квадратных футов). Ячейки, которые могут сохранять многомерные результаты, таковы:
Функция FORMAT используется для демонстрации многомерных единиц с такими сокращениями, как sq. in.
Не забывайте, что умножение комбинирует значение, имеющее единицу измерения, и значение, не имеющее единицы измерения. В случае, если такой расчет приводит к умножению двух значений с единицами измерения, то многомерный результат может оказаться бессмыслицей. Например, если такая ячейка цвета, как FillForegnd, настроена на результат двух геометрических ячеек, вы получите сообщение #DIM error, пoскольку геометрические ячейки всегда имеют единицы измерения, а ячейка FillForegnd не может содержать многомерное значение.
Определение единиц измерения
Так как многие чертежи отображают физические объекты, вы можете определить единицы измерения в метрической системе и измерять углы в радианах, десятичных градусах или в градусах, минутах и секундах дуг. Кроме того, вы можете использовать стандартную типографскую систему мер — пики, кегли и цицеро. Для большей эффективности всегда определяйте единицы измерения, когда вводите формулу в ячейку, которая предназначена для пространственного значения.
Разработка качественных формул Microsoft Visio требует большего, чем просто верный синтаксис. Разработчик образов должен понимать, где образ получает свои формулы в режиме по умолчанию. Он должен знать преимущества и недостатки сохранения формул в определенных ячейках, а также уметь защищать выбранные формулы от небрежных изменений и контролировать пересчет формул для лучшего их выполнения.
Формулы
Чтобы управлять действиями фигуры, необходимо написать формулы, которые определяют нужное поведение. Можно отредактировать формулу ячейки, чтобы изменить ее значение и, соответственно, поведение фигуры. Например, ячейка Height в разделе Shape Transform содержит формулу, которую можно изменять, чтобы управлять высотой фигуры.
Формулы Microsoft Visio во многом схожи с обычными формулами электронных таблиц. В Visio все данные ячейки, даже числовые значения и простые ссылки на ячейки, обрабатываются как формулы.
Формула в ячейке может наследоваться от эквивалентной ячейки в образце или стиле или определяться локально. Результаты вычисления формулы преобразуются в значение, выраженное в единицах измерения ячейки. В окне таблиц свойств фигуры можно отображать данные в виде формул или значений.
Формула всегда начинается со знака равенства, который вставляется автоматически. Она может включать любые из указанных ниже элементов.
Числа
Координаты
Логические значения
Операторы
Функции
Строки
Ссылки на ячейки
Единицы измерения
Формулы, используемые по умолчанию
При создании фигуры для нее создаются формулы, используемые по умолчанию. Чтобы узнать, что представляют собой такие формулы, нарисуйте простую фигуру (прямоугольник, эллипс или прямую линию) и откройте ее в окне таблицы свойств фигуры (на вкладке Разработчик выберите пункт Показать таблицу свойств фигуры).
По возможности формулы в Visio наследуются. Вместо того чтобы создавать локальную копию каждой формулы, экземпляр наследует формулы из образца в наборе элементов документа, а форматирование — из определения стиля, которое хранится с документом. Это позволяет уменьшить размер файлов и применять изменения формул образца или определения стиля ко всем экземплярам.
Черный текст в ячейке обозначает унаследованную формулу.
При создании локальной формулы для экземпляра унаследованная формула в ячейке переопределяется локально. Дальнейшие изменения этой ячейки в образце или стиле не влияют на экземпляр, так как для него было заблокировано наследование от ячейки.
При применении стиля все локальные формулы в ячейках удаляются, если они не защищены функцией GUARD.
Синий текст обозначает локальную формулу, полученную в результате изменения формулы в окне таблицы свойств фигуры или изменения фигуры, которое привело к сбросу формулы для ячейки.
Автоматическое обновление формул
Некоторые ячейки автоматически обновляются при изменении фигуры в документе. Это значит, что в некоторых условиях введенные формулы могут заменяться. Например, при перемещении углового маркера для изменения размера фигуры сбрасываются формулы в ячейках PinX, PinY, Width и Height.
При необходимости можно защитить формулы от изменений с помощью функции GUARD.
Метод Page.GetFormulas (Visio)
Возвращает формулы многих ячеек.
Синтаксис
выражение Переменная, представляюная объект Page.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
SID_SRCStream() | Обязательно | Integer | Поток идентифицирующих ячеек для запроса. |
formulaArray() | Обязательно | Variant | Параметр Out. Массив, который получает формулы запрашиваемой ячейки. |
Возвращаемое значение
Примечания
Метод GetFormulas похож на свойство Formula объекта Cell, за исключением того, что вы можете использовать его для получения формул многих ячеек одновременно, а не одной ячейки. Метод GetFormulas — это специализация метода GetResults, который можно использовать для получения формул или результатов ячейки. Настройка вызова метода GetFormulas требует немного меньше работы, чем настройка метода GetResults.
Для объектов Page можно использовать метод GetFormulas для получения формул любого набора ячеек в любом наборе фигур страницы или мастера.
SID_SRCStream() — массив из 2-byte inte inte. Для объектов Page SID_SRCStream() должен быть одномерный массив из 4 n 2-byte для n > = 1. Метод GetFormulas интерпретирует SID_SRCStream() как:
где sheetID — это свойство ID объекта Shape на странице или мастер, формула ячейки которого является желаемой.
Если sheetID в записи visInvalShapeID (-1) или если нижний byte sectionIdx является visSectionInval (255), запись будет проигнорирована и пустой вариант будет возвращен в соответствующей записи массива результатов. Это происходит потому, что один и тот же массив SID_SRCStream() может использоваться для нескольких вызовов в GetFormulas, SetFormulas и аналогичных методов с вызывателем только для внесения незначительных изменений в поток между вызовами.
Начиная с Microsoft Visio 2000 г., можно использовать локальные и универсальные имена для обозначения фигур Visio, мастеров, документов, страниц, строк, надстроек, ячеек, гиперссылок, стилей, шрифтов, мастер-ярлыков, объектов пользовательского интерфейса и слоев. Например, когда пользователь называет фигуру, пользователь указывает локальное имя. Начиная с Microsoft Office Visio 2003 г., в таблице ShapeSheet отображаются только универсальные имена в формулах и значениях клеток. (В предыдущих версиях универсальные имена не были видны в пользовательском интерфейсе.)
Как разработчик вы можете использовать универсальные имена в программе, если вы не хотите менять имя каждый раз, когда решение локализовано. Используйте метод GetFormulas, чтобы получить несколько формул при использовании локального синтаксиса. Используйте метод GetFormulasU, чтобы получить несколько формул при использовании универсального синтаксиса.
Пример
На следующем макросе показано, как использовать метод GetFormulas. Предполагается, что существует активная страница Microsoft Visio, на ней по крайней мере три фигуры. Он использует GetFormulas, чтобы получить ширину формы 1, высоту формы 2 и угол формы 3.
В этом примере метод GetFormulas объекта Page позволяет получить три формулы ячейки. Массив ввода имеет четыре слота для каждой ячейки, как и для объектов Master. Для объектов Shape или Style для каждой ячейки потребуется всего три слота (раздел, строка и ячейка).
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Формулы Visio 2002
— У тебя не найдется черной гелевой ручки?
— Была где-то. Или не была. Я скоро вообще, наверное, разучусь писать без клавиатуры.
— Хорошо же тебе живется! Впрочем, мне тоже было хорошо. До сегодняшнего дня.
— Кажется, ручки у меня перевелись. Вымерли, как динозавры. Или как пишущие машинки.
— Это потому, что тебе до сих пор не приходилось набирать формулы.
— Это потому, что я знаю, как их набирать.
Как разработчик образов, вы должны точно контролировать вид и поведение создаваемых вами образов. Вы можете изменить стандартное поведение образа и усложнить его с помощью редактирования определенных формул. Многие объекты Microsoft Visio (к примеру, страницы, документы, шаблоны, направляющие и стили) также имеют формулы, которые вы можете редактировать.
Эта глава познакомит вас с базовыми концепциями и терминами формул Microsoft Visio.
Объекты Microsoft Visio сохраняются «внутри» в виде набора формул. Например, когда вы смотрите на образ в окне чертежа, вы видите его воспроизведенным графически, и он при этом ведет себя согласно своим формулам.
Когда вы смотрите на тот же образ в окне ShapeSheet, вы видите лежащие в его основе формулы, которые определяют вид и поведение данного образа на чертежной странице. Эти два окна просто дают вам разные взгляды на один и тот же образ. В окне чертежа некоторые изменения, которые вы производите с объектом, вызываются его формулами. Например, когда вы перемещаете образ Инструментом Указатель, приложение Microsoft Visio пересчитывает формулы, определяющие центр вращения образа pin на странице, поскольку эти формулы отвечают за расположение образа на странице.
Однако окно ShapeSheet дает вам более точный контроль над видом и поведением объекта, поэтому для изменений его поведения вы можете редактировать формулы объекта. Где бы вы ни меняли объект — в окне чертежа или в окне ShapeSheet — все видоизменения автоматически сохраняются, когда вы сохраняете документ Microsoft Visio, который содержит данный объект.
Вывод на экран окна ShapeSheet
Многие объекты Microsoft Visio — образы, группы, направляющие линии и точки, страницы, документы, стили, вставленные объекты из других приложений — имеют лежащие в их основе формулы, которые вы можете редактировать и тем самым менять поведение объекта. Для того, чтобы отредактировать формулы объекта, вы должны сначала вывести на экран окно ShapeSheet для этого объекта.
Когда окно ShapeSheet активно, поля меню содержат команды для работы с формулами объекта.
Вы можете редактировать формулы в выбранной ячейке или в поле формулы.
Каждая часть ShapeSheet изображает набор связанных формул.
Как вывести на экран окно ShapeSheet для объекта на чертежной странице
1. Укажите объект в окне чертежа.
2. Для того, чтобы указать образ внутри группы (если настройка его группового поведения позволяет это), сначала укажите группу, а затем —образ.
Чертежные страницы, стили, документы Microsoft Visio и шаблоны в трафаретах тоже имеют формулы, которые вы можете редактировать.
Как вывести на экран окно ShapeSheet для страницы, стиля или документа
2. Нажмите, чтобы открыть или закрыть папку.
3. В окне Drawing Explorer нажмите правой кнопкой мыши на документе, странице или желаемом стиле, а затем выберите из ниспадающего меню команду Show ShapeSheet.
Совет: Вы можете вывести на экран и окно ShapeSheet для страницы, выбрав Window О Show ShapeSheet и ничего не указав на странице.
Как вывести на экран окно ShapeSheet для шаблона на трафарете
2. В трафаретном окне Microsoft Visio нажмите правой кнопкой мыши на шаблоне и выберите всплывающего меню команду Редактировать шаблон (Edit Master). Кроме того, вы можете вывести на экран чертежное окно шаблона, щелкнув правой кнопкой мыши на шаблоне в окне проводника Drawing Explorer и выбрав из всплывающего меню команду Edit Master.
Вывод на экран различных разделов окна ShapeSheet
Как показать или скрыть секции в окне ShapeSheet
2. В диалоговом окне Разделы (Sections) укажите секции, которые хотите выбрать и отключите секции, которые хотите скрыть, а затем нажмите ОК. В случае, если секция выглядит тусклой, то она не доступна, поскольку не существует для этого объекта.
Как добавить секции, используя окно ShapeSheet
2. В диалоговом окне Вставить секцию (Insert Section) укажите секции, которые хотите добавить к объекту, а затем нажмите ОК.
Секции отображаются в окне ShapeSheet в фиксированном порядке (не выше или ниже секции, которую вы можете видеть), поэтому вам придется прокрутить окно ShapeSheet, чтобы найти вновь вставленные секции.
Геометрические секции не похожи на другие типы тем. Объект может иметь несколько геометрических секций и только одну секцию других типов. Указав параметр Geometry в диалоговом окне Insert Section, вы добавите «пустую» геометрическую секцию, которая содержит ряд MoveTo и LineTo. Указав параметр Эллипс (Ellipse) или Бесконечная линия (Infinite Line), вы добавите геометрическую секцию, которая содержит ряд одного эллипса или бесконечной линии.
Совет: Вы можете расширить или сжать секцию в окне ShapeSheet, просто щелкнув на имени секции.
Что «контролируют» секции ShapeSheet
Каждая секция ShapeSheet контролирует некоторый аспект объекта Microsoft Visio. Как разработчику образов, вам необходимо знать, какие секции контролируют поведение, которое вы хотите изменить.
Как проверить образ в окне ShapeSheet
1. Укажите образ в чертежном окне.
2. Выберите Window-> Show ShapeSheet, чтобы вывести на экран окно ShapeSheet.
Выбор определенных рядов или ячеек в окне ShapeSheet выявляет соответствующий вертекс в чертежном окне.
Для этого, нарисуйте простой образ с прямыми линейными сегментами (к примеру, прямоугольник или многоугольник), а затем выведите на экран окно ShapeSheet. В окне ShapeSheet опробуйте любое из следующих действий и оцените воздействие на образ в чертежном окне:
Совет: В случае, если окно ShapeSheet изображает в ячейках значения, а не формулы (что часто случается с шаблонами, поставляемыми вместе с Microsoft Visio), то выберите View Ф Formulas, чтобы вывести на экран формулы. Вы можете вывести на экран ту секцию, которая была невидимой, или скрыть ту секцию, которая вас не интересует.
В чертежном окне вы можете поменять образ, используя чертежные инструменты и команды Microsoft Visio, а затем посмотреть, что происходит с формулами образа. Попробуйте любое из следующих действий:
В окне ShapeSheet попробуйте менять различные ячейки Protection от 1 до 0 и отмечайте изменения на указателях образа в чертежном окне. Делая ссылку, вы можете ввести в ячейки Protection слова TRUE или FALSE вместо 1 или 0, но ячейки всегда будут изображать либо 1, либо 0.
Формула — это выражение, которое содержит константы, функции, операторы и ссылки на ячейки. Приложение Microsoft Visio рассчитывает по формуле результат и переводит его в соответствующие единицы для ячейки, которая содержит формулу.
Некоторые формулы состоят из одной константы, но все формулы проходят через этот процесс пересчета и конвертации.
Выбрав определенную команду в меню View вы можете увидеть в окне ShapeSheet содержание любой ячейки, либо в виде значений, либо в виде формул.
Важно: Многое из того, что вы делаете с образами в режиме автоматизации, может быть сделано настройкой формул для этих же образов.
Ввод и редактирование формул в окне ShapeSheet
Приложение Microsoft Visio считает формулой все, что находится в ячейке — даже числовую константу, ряд или ссылку, но многие ячейки Microsoft Visio требуют особого типа (к примеру, размер), поэтому, все, что вы вводите в них, подразумевает единицу измерения (к примеру, дюймы или сантиметры). Инструментальный набор Microsoft Visio автоматически конвертирует естественный результат формулы в эквивалентный результат того типа, который требуется ячейкой, содержащей формулу. Например, ячейка FlipX в секции Shape Transform требует булеановский результат — Истинно (TRUE) или Ложно (FALSE). Следовательно, в ячейке FlipX любая формула, которая дает в результате положительное число, конвертируется в значение Истинно, а любая формула, которая дает в результате ноль, конвертируется в Ложно.
Для того, чтобы ввести формулу, укажите ячейку и введите ее либо в самой ячейке, либо в панели формулы.
Выберите ячейку, а затем введите или отредактируйте формулу и нажмите клавишу Enter.
Нажмите кнопку Cancel, чтобы отменить изменения в формуле.
Совет: Нажмите правой кнопкой мыши на ячейке ShapeSheet, чтобы вывести на экран ее всплывающее меню, содержащее команды, которые вы можете использовать для редактирования ячейки.
Функции и операторы
Функция выполняет одну хорошо определенную задачу. Большинство функций используют фиксированное число аргументов в качестве входных данных, хотя некоторые функции их вообще не имеют, другие пользуются различным числом аргументов, а есть и такие, которым необходимы параметрические аргументы. Несмотря на то, что тип и число аргументов зависят от функции, все функции имеют один и тот же общий синтаксис:
Функции, которые вы можете использовать в формулах Microsoft Visio могут быть:
Многие другие функции в приложении Microsoft Visio являются уникальными (к примеру, GUARD, GRAVITY или RUNADDON).
Важно: Некоторые функции, возникающие в формулах, генерируются приложением Microsoft Visio, но не указываются в диалоговом окне Insert Function. Эти функции начинаются с одной подчеркивающей линии (к примеру, _ELLIPSE_THETA). Они зарезервированы для внутреннего использования и не применяются в других формулах.
Оператор выполняет операцию, обычно комбинируя два операнда для получения результата. Многие операторы могут быть классифицированы как арифметические (сложение, вычитание, умножение и т.д.) или как логические (больше чем, меньше чем или равный такому-то), хотя один оператор (причинная связь) комбинирует два условия в одно. Операнд может быть константой (одним значением) или выражением (содержащим одну или более функций), которые пересчитываются к одному значению.
Давайте рассмотрим следующее выражение: 4 + 5*6. Так как старшинство у умножения выше, чем у сложения, то сначала 5 умножается * на 6, а затем их произведение 30 прибавляется к 4, выдавая результат — 34. Вы можете изменить порядок пересчета, группируя выражения в круглых скобках. Например: (4 + 5) * 6. Так как выражение 4 + 5 заключено в круглые скобки, оно будет рассчитываться первым, и только потом сумма 9 умножается на 6, выдавая результат — 54.
В случае, если выражения вставлены в круглые скобки, то приложение Microsoft Visio начинает счет с выражения в самом внутреннем наборе круглых скобок и затем переходит к более внешним выражениям.
Единицы измерения в формулах Microsoft Visio
Приложение Microsoft Visio рассчитывает результат формулы по разному в зависимости от ячейки, в которую вы внесли эту формулу.
Обычно ячейки, которые отвечают за расположение образа, размеры или угол, требуют пары число-единица измерения, то есть эта пара состоит из числа и единиц измерения, необходимых для интерпретации числа. Например, формула в ячейке Width имеет результат — 5. Но это может означать и 5 дюймов, и 5 сантиметров в зависимости от того, какие единицы измерения используются в данном чертеже. Другие ячейки не имеют присущих им единиц измерения и рассчитываются до условия («истинно», «ложно») или до индекса в зависимости от природы ячейки. Например, если формула в ячейке FillForegnd равна 5, то это означает, что из Палитры цветов чертежа берется цвет 5. А если тот же результат мы видим в ячейке LockWidt, то это означает «истинно» (только 0 равносилен «ложно») и вызывает блокировку ширины образа.
Для большей эффективности всегда указывайте в ваших формулах необходимые единицы измерения. Не полагайтесь на то, что приложение Microsoft Visio снабдит вас правильными единицами. В случае, если вы не указываете единицу измерения рядом с числом, результат будет рассчитываться с использованием внутренних единиц, определенных для ячейки, — а это могут быть страничные единицы, чертежные единицы или угловые единицы.
Страничные единицы измеряют размеры на печатаемой странице, включая типографскую систему мер. Страничные единицы обычно используются для толщины линий и размеров шрифта, которые не связаны с размерами чертежа.
Чертежные единицы указывают систему мер реального мира. Допустим, 50-метровый пруд (чертежная единица), который показан на бумаге 10-сантиметровым (страничная единица). К примеру, если вы введете в ячейку Ширина значение формулы, равное 50, а в чертежных единицах требуется пара — число и единица измерения — то приложение Microsoft Visio снабдит страницу набором чертежных единиц для режима умолчания и в соответствии с ними пересчитает формулу.
Угловые единицы измеряют угловые расстояния — вращение образа в градусах и радианах. В качестве внутренних единиц приложение Microsoft Visio использует дюймы для измерения расстояний, радианы для измерения углов и дни для измерения продолжительности.’
Формула Microsoft Visio, которая умножает или делит пространственные единицы, выдает результат в многомерных единицах. Эти единицы могут сохраняться в некоторых ячейках. Например, если образ в чертежных единицах имеет 5 футов в ширину и 10 футов в высоту, то формула = Width * Height дает результат 50 ft ^ 2 (50 квадратных футов). Ячейки, которые могут сохранять многомерные результаты, таковы:
Функция FORMAT используется для демонстрации многомерных единиц с такими сокращениями, как sq. in.
Не забывайте, что умножение комбинирует значение, имеющее единицу измерения, и значение, не имеющее единицы измерения. В случае, если такой расчет приводит к умножению двух значений с единицами измерения, то многомерный результат может оказаться бессмыслицей. Например, если такая ячейка цвета, как FillForegnd, настроена на результат двух геометрических ячеек, вы получите сообщение #DIM error, пoскольку геометрические ячейки всегда имеют единицы измерения, а ячейка FillForegnd не может содержать многомерное значение.
Определение единиц измерения
Так как многие чертежи отображают физические объекты, вы можете определить единицы измерения в метрической системе и измерять углы в радианах, десятичных градусах или в градусах, минутах и секундах дуг. Кроме того, вы можете использовать стандартную типографскую систему мер — пики, кегли и цицеро. Для большей эффективности всегда определяйте единицы измерения, когда вводите формулу в ячейку, которая предназначена для пространственного значения.
Разработка качественных формул Microsoft Visio требует большего, чем просто верный синтаксис. Разработчик образов должен понимать, где образ получает свои формулы в режиме по умолчанию. Он должен знать преимущества и недостатки сохранения формул в определенных ячейках, а также уметь защищать выбранные формулы от небрежных изменений и контролировать пересчет формул для лучшего их выполнения.