VISIO+VBA | Возвращение значений из функций VBA в фигуры Visio
Вставка
- Опубліковано 15 вер 2024
- В этом видео рассматривается весьма актуальная тема - возвращение данных из функций VBA в фигуры Visio. Дело в том, что в отличие от таких приложений как Excel и Access, в Visio нет возможности возвращать из функций значения непосредственно в ячейки их вызвавшие (как результат вычисления). Поэтому, для решения данной задачи приходится передавать данные в другие ячейки. Для вызова же функций в данном видео используется функция CallThis() прописанная в ячейке EventFXMod.
---------
Файлы из урока можно скачать в репозитории GitHub: github.com/Obs...
---------
Присоединяйтесь к нам в сети ВКонтакте: aigs_gr...
Страничка проекта на сайте wiki-fre: wiki-fire.org/Г...
---------
База знаний ShapeSheet: shapesheet-kb....
Обработка периметра может и без макроса производиться. В Shape data type=2 Value=0m + PATHLENGTH(Geometry1.Path) при этом переменная 0m может опредеделять единицы измерения в зависимости от приставки sm, dm, in ... etc) напоролся буквально только что изучая вопрос создания фигур, у меня не получилось сохранить трафарет с макросом так что бы он работал и в других доках, пришлось искать обходные пути=)
Да, действительно, есть такая функция. Но она появилась только в Visio 2010: shapesheet-kb.github.io/ru/pages/functions/Функция%20PATHLENGTH.htm
@@vigilit-video1765 Касательно создания smart stencil. Я еще не смог собрать все полученые знания из Ваших уроков в кучу, но сейчас остро стал вопрос и возможно в ближайших видео я найду на него ответ. Или через коментарии подскажете=) Суть такова, с тригерами все понятно, как реализовать смену формы фигуры через тригеры? Квадрат в круг, круг в триугольник, триугольник в паралелипипед и так далее.
Дело в том что в AutoCAD есть такая штука как динамические компоненты, там внутренними средствами задается поведение фигуры при заданых условиях, в Визио я такой кнопки не нашел=)
@@Ollbie самый простой способ - заранее собрать в группу несколько фигур разной формы и потом показывать их при включении той или иной опции.
@@vigilit-video1765 Я так и думал, не совсем понятно упраление отображением, или по такому же принципу как и в видео о смене цвета?
Все по делу, очень полезно. Класс!
У меня вопрос следующего плана: Можно ли автоматически скрыть либо удалить набор сгруппированных фигур?
В идеале чтобы удаление происходило исходя от значение в ячейке User Defined Cells. Логика такова, я передаю значения из другой программы в User Defined Cells, а VISIO должна исходя от значения оставить фигуру либо удалить(скрыть). Пока сложности с реализацией, не подскажете?
Вариант с VBA тоже можно рассмотреть
На самом деле все просто. Вы передаете значения в ячейку, например, User.ShowMe. А во всех дочерних фигурах для ячеек GeometryN.NoShow и HideText пишете примерно следующее: IF(Sheet.N!User.ShowMe>0,true,false). Т.е. если значение в ячейке User.ShowMe больше нуля - скрыть дочерние фигуры, если равно нулю - показать. Логику можно и другую прописать. В GeometryN и Sheet.N буква N означает номер (блока геометрии и родительской фигуры соответственно). Про ссылки в формулах рекомендую посмотреть видео здесь: ua-cam.com/video/ZoCWss4HGwE/v-deo.html
Добрый день. Можно попросить ссылку на вообще визио?? Я был бы бездумно благодарен 😌