Для русскоязычных пользователей Visio. Начинающих и профессионалов. Где взять, как сделать, что купить и т.д.

ShapeSheet общее

Перечень литературы

07.04.2022  Formats   johnvisiomvp    

20.12.2021  Опасные ссылки на TheDoc в Visio   Геннадий Туманов    

09.06.2021  Save time by using the Microsoft Visio ShapeSheet   David Parker   Вебинар 

19.01.2020  Двухуровневый список в данных шейпа   Геннадий Туманов    

01.11.2019  Создание сложных формул в Visio с помощью Excel   Геннадий Туманов    

13.08.2019  Формирование длинных формул ShapeSheet c помощью MS Excel   Kuzin Alexander   Видео 

03.03.2018  Action cell execution in Visio   John Goldsmith    

06.08.2017  Команды DoCmd/DOCMD   Microsoft    

05.02.2016  Displaying the Fill and Line Section Values of a shape   David Parker    

01.01.2016  Видео на русском про ShapeSheet   Kuzin Alexander    

16.11.2014  Справочник по таблицам свойств фигур Visio   Microsoft    

17.09.2014  ShapeSheet through the Ages   Chris Roth    

24.07.2014  Understanding the ShapeSheet (Microsoft Visio 2010 Business Process Diagramming and Validation)   Microsoft    

24.07.2014  Understanding the ShapeSheet (Microsoft Visio 2010 Business Process Diagramming and Validation)   Microsoft    

14.06.2014  Printing the ShapeSheet in Microsoft Visio   Microsoft    

17.04.2014  Adding Right-Click Actions to the SmartShape   Microsoft    

17.04.2014  Understanding Visio’s Coordinate System   Microsoft    

16.04.2014  The Hidden Master Cells – ShapeKeywords and Copyright   David Parker    

16.03.2012  Making Timelines with Dates Earlier than 1900 in Visio   David Parker    

21.03.2011  Which field is that cow in?   David Parker    

10.07.2010  Stress Test: Nesting “IF” Functions in the ShapeSheet   Chris Roth    

21.04.2010  List Separators in Visio’s ShapeSheet are Crazy!   Chris Roth    

01.03.2010  База знаний ShapeSheet   Shishok    

10.07.2007  Month Math   Chris Roth    

01.01.2007  User-defined ShapeSheet Functions in Visio 2007   Chris Roth    

14.12.2006  Constraining Angle with the BOUND ShapeSheet Function   Chris Roth    

04.10.2006  Counting Geometry Sections   Chris Roth    

03.10.2006  Casting Units in Visio’s ShapeSheet   Chris Roth    

05.09.2006  The Hidden World of Visio Shapes   Chris Roth    

  Формирование фигур в Visio 2000 Ru и Visio 2002 Ru   Ничков А.В.    

Ответы на вопросы

Как можно закрепить длину линии?

Как можно закрепить длину линии (а координаты можно было бы менять)? конкретно: Надо перенести с рисунка многоугольник, у которого точно известны только длины сторон. А может у кого-нибудь есть такой многоугольник (вручную вводится кол-во сторон и их длина, а потом на листе можно произвольно менять форму - длина сторон не меняется) p/s прошу сильно не пинать, первый раз начал работать с Visio  

Просто закрепить длину линии (ребра многоугольника) нельзя. Но можно подойти с другой стороны. Visio рисует геометрическую фигуру последовательным применением функции MoveTo(x,y). Значит если вычислить координаты x и y всех точек многоугольника так, чтобы они удовлетворяли заданным условиям (фиксированные расстояния между вершинами), то задача будет решена. Останется только вписать соответствующие формулы в ячейки секции Geometry шейп-листа и защитить их функцией Guard от изменения. То есть задача основывается на решении математической задачи построения многоугольника по заданным длинам сторон. Надо будет только придумать, куда вставить управляемую переменную, которая будет зависеть от воздействия оператора. Например, мышкой можно будет тянуть вершину многоугольника по координате x, а координата y этой вершины и обе координаты соседней вершины (минимум одной) должны вычисляться как функции этой переменной. Причем управляться может не одна соседняя вершина, а несколько. И тянуть можно в принципе любую вершину, что еще более запутывает вычисления. Короче, задача в принципе разрешима, но не думаю, чтобы у кого-то был такой многоугольник.  

Как в Visio 2002 включить автопозиционирование шаблона?

Как в Visio 2002 включить автопозиционирование шаблона? Т.е. чтоб при размещении на листе он автоматически вставал на одно и то же место. (Пример - стандартный штамп для А4,А3 и т.п.)  

Рисуешь штамп, группируешь и в ShapeSheet вносишь:  

Width "=GUARD(196 mm/ThePage!PageScale*ThePage!DrawingScale)" Height "=GUARD(283 mm/ThePage!PageScale*ThePage!DrawingScale)" PinX "=GUARD(ThePage!PageWidth-(3 mm/ThePage!PageScale*ThePage!DrawingScale))" PinY "=GUARD(7 mm/ThePage!PageScale*ThePage!DrawingScale)" LocPinX "=GUARD(200 mm/ThePage!PageScale*ThePage!DrawingScale)" LocPinY "=GUARD(0)"  

Это все справедливо для полного штампа А4. С А3, я думаю, проблем не возникнет. На сайте в примерах что-то подобное уже было...  

Как в EventDrop (секция Events) указать предыдущий объект?

Добрый день! Как сделать следующее: 1. в EventDrop (секция Events) указать предыдущий объект (т.е. шейп, который до этого бросили)? 2. как можно программно (скажем VB)? перед тем как бросить шейп на рисунок изменить у него какое-нить поле в ShapeSheet?  

1. В EventDrop можно и не пытаться. То есть можно придумать какое-нибудь извращение через третий шейп, в котором отслеживать последний размещенный на странице шейп. Но будет куча сложностей, когда шейп бросят, потом удалят, потом бросят новый и т.д. На все случаи не рассчитаешь, так что лучше этим и не заниматься. А вот с VBA наверное можно попробовать смотреть последний шейп в коллекции. Они вроде всегда в конец добавляются. 2. Нет никакой разницы, когда менять поле - перед тем как бросить или после того, это не заметно. Так что смело обрабатывайте событие ShapeAdded и в этом обработчике изменяйте поле.