Для оформления проектной и рабочей документации не обойтись без таких элементов оформления как рамки и штампы, есть разные реализации рамок и штампов, в данной статье будет описана одна из реализаций которую я разработал. Актуальную версию можно скачать с форума Visio
В архиве есть шрифты которые используются в штампах и в Excel, необходимо их установить и набор следующих фигур
Рамка — стандартная рамка
Рамка 3 — Рамка для использования на одном листе несколько страниц А4 или А3 расположенных горизонтально, на момент написания статьи вставка 4-х автоматически масштабируемых рамок
Рамка Т — Рамка для использования на одном листе нескольких страниц А4 или А3 расположенных вертикально, на момент написания статьи вставка 12-и автоматически масштабируемых рамок
Осн.над.ф.3 — штамп формы 3
Осн.над.ф.5 — штамп формы 5
Осн.над.ф.6 — штамп формы 6
Доп надпись 1 — дополнительная надпись
Для полноценной работы необходимо в Visio включить макросы
Описание работы рамок
Рамка — стандартная рамка с полями слева 20 мм и 5 мм остальные поля, автоматически масштабируемая, не зависит от масштаба страницы, при изменении размера страницы рамка автоматически меняет положение оставаясь всё время с указанными полями.
Рамка 3 — используется если необходимо на одном листе Visio использовать несколько страниц расположенных горизонтально
Рисунок 1. Горизонтальное расположение страниц на одном листе Visio
рамки автоматически расширяются при расширении листа, в данном случае лист размером 297 х 840 мм, имеет настраиваемые данные: Использование, возможные варианты: А4 или А3 соответственно будут рамки А4 книжного расположения или А3 альбомного
Рамка Т — используется если необходимо на одном листе Visio использовать несколько страниц расположенных вертикально, рамки расширяются автоматически в зависимости от высоты листа,
Рисунок 2. Вертикальное расположение нескольких страниц на одном листе Visio
Рамки всегда под листы высотой 297 мм, то есть листы формата А4 книжные или А3 альбомные.
Штампы
Осн.над.ф.3 и Осн.над.ф.6 штампы предназначены для разного типа страниц и листов, при вставке он автоматически позиционируются в нижнем правом углу, нумерация страниц автоматическая. У данных штампов есть настройки
Поз.гориз. — позиция штампа когда на одном листе Visio несколько страниц расположенных горизонтально (Рисунок 1)
Поз.верт. — позиция штампа когда на одном листе Visio несколько страниц расположенных вертикально (Рисунок 2)
Для Осн.над.ф3 два значения: автоматически и вертикально, автоматически это в правом нижнем углу для любого размера листа, вертикально будет расположен на самом верхней странице, для Осн.над.ф6 значение автоматически и номер страницы сверху по порядку, на рисунке показаны настройки штампов при вертикальном расположении страниц
Такое расположение страниц предназначено в частности для спецификаций, но возможно использовать и для других целей. При этом при вставке штампов у свойств страницы будет свойство Нумерация листов, которое может принимать значения: глобально, лист
а так же другие данные которые относятся к штампам. Нумерация листов глобально пронумерует штампы в рамках всего документа, однако последующие листы Visio не умеют учитывать нумерацию многостраничных листов, именно для этого в свойствах штампа можно указать номер страницы принудительно. Нумерация лист пронумерует страницы в пределах этого листа Visio
Остальные поля понятны и предназначены для заполнения штампа, поля Изменения заполняются через точку с запятой для каждой ячейки как показано на рисунке
Для заполнения остальных данных штампа воспользуемся диалоговым окном которое можно вызвать двойным кликом по штампу или из контекстного меню Данные проекта
Выйдет форма, которая вносит данные в свойства всего документа и при вставке любого штампа эти данные доступны из любого листа Visio
Поскольку данные записываются в свойства документа то они доступны на любой странице, таким образом заполнять каждый раз штампы нет необходимости.
Спецификация
В архиве добавлен файл Excel для создания спецификации project.xlsm, для его работы необходимо включить макросы, так как используются функции определенные пользователем.
файл содержит 3 вкладки: Спец, s, Свод
Спец — вкладка для занесения данных, данные в спецификацию попадут при выполнении двух условий: столбец Кол-во содержит число или символ * либо любой другой символ и он не скрыт. сожно спокойно удалять или добавлять строки, это не повлияет на формулы на других листах. Синим настраивается количество символов в наименовании и обозначении если строка больше этого значения то будет сделан перенос строки на следующую ячейку по пробелу, точке, косой черты или дефису
На рисунках ниже наглядно показано как работает перенос, во вкладке Спец заполняем данные
И на вкладке Свод у нас автоматически сделаны переносы
s — вспомогательная промежуточная вкладка с формулами, формулы до 1000 -й строки, если у Вас в вкладке Спец данные больше 1000 строки то в вкладке s необходимо скопировать строки ниже 1000-й строки
Свод — окончательная спецификация, просто скопируйте область и вставьте в Visio
Если у Вас данные в Excel выгружаются с другим порядком столбцов, то можно вставить вкладку с Вашим порядком столбцов и во вкладке Спец вставить формулы которые ссылаются на Ваши данные.
Осталось сделать связи спецификации Excel с Visio, обычно это делается один раз, для будущих проектов можно использовать предыдущие проекты, либо создать шаблон-проект заполненный штампами/рамками и связанными диапазонами Excel (спецификация или любые другие данные из Excel).
Для вставки в Visio выделяем нужную область во вкладке Свод, переходим в Visio, нажимаем на свободную область листа куда будем вставлять связь с Excel и выбираем в выпадающем меню выбираем пункт Специальная вставка…
В дальнейшем все внесенные изменения в файле Excel, в части диапазонов связанных с файлом Visio, автоматически, по нажатию на сохранить в Visio, обновятся. Важно файл Visio и связанный с ним файл Excel должны располагаться в общей папке.
В вышедшем диалоговом окне ставим галочку Связать и нажимаем OK
у нас вставится связь с Excel и все изменения в Excel теперь будут автоматически обновляться в Visio, нам остается правильно спозиционировать вставленный рисунок, скорее всего Вам придется настроить ширину столбцов поскольку на компьютерах с разными настройками шрифтов ширина столбцов в миллиметрах может отличаться, но для Вашего компьютера это надо сделать только один раз.
Если Вы вставляете из Excel в отдельные листы Visio то просто отпозиционируйте вставленный рисунок Excel как Вам необходимо, если Вы используете в одном листе несколько страниц вертикального расположения как на рисунке 2 то необходимо сделать автоматическое позиционирование относительно верхнего левого края листа Visio так как координаты в Visio идут от нижнего левого угла.
Нажимаем правой кнопкой мыши на вставленную таблицу Excel и выбираем пункт меню: Показать таблицу свойств фигуры
Выйдет окно свойств фигуры, нас интересует первая секция
позиция PinX и PinY — это расположение фигуры относительно левого нижнего угла,
LocPinX и LocPinY — это точка привязки координат, в данном случае эта точка находиться на середине высоты и ширины этой фигуры.
Сделаем чтобы точка привязки координат была в верхнем левом углу фигуры, для этого LocPinX делаем значением 0, а LocPinY делаем равной высоте фигуры, то есть =Height
теперь координаты PinX и PinY будут координатами верхнего левого угла фигуры.
Таблицы у нас всё время будут расположены на 20 мм от левого края, по этому в ячейке PinX ставим 20 mm
Для того чтобы у нас всё время позиция верхнего угла была относительно верхнего края листа Visio необходимо в ячейку PinY написать формулу: =ThePage!PageHeight-5 mm и четыре изменённые ячейки будут выглядеть так:
для следующих вставок ниже необходимо в ячейке PinX отнимать уже не 5 мм, а больше, это расстояние будет от верхнего края листа Visio, для второй страницы можно записать так:
=ThePage!PageHeight-5 mm-297 mm
для третьей так:
=ThePage!PageHeight-5 mm-297 mm-297 mm
и так далее.
Поскольку у нас отдельно вставляться будут на второй и последующей станице заголовки таблицы и тело таблицы то параметры отступов будут другие, на рисунке указаны параметры PinX для вставки разных частей таблицы,
в данном случае у нас 3 листа, если данных спецификации больше просто увеличьте размер листа Visio через Конструктор — размер — другие размеры страницы
Можно самостоятельно не считать, а записать: 297*5мм
или кликнув на любом штампе правой кнопкой мыши выберите пункт меню: Настройка страниц
И установите параметры листа и нажмите кнопку Применить
Полезные ссылки: Статья Николая про связку Excel в Visio