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....

КОМЕНТАРІ • 9

  • @Ollbie
    @Ollbie 4 роки тому +1

    Обработка периметра может и без макроса производиться. В Shape data type=2 Value=0m + PATHLENGTH(Geometry1.Path) при этом переменная 0m может опредеделять единицы измерения в зависимости от приставки sm, dm, in ... etc) напоролся буквально только что изучая вопрос создания фигур, у меня не получилось сохранить трафарет с макросом так что бы он работал и в других доках, пришлось искать обходные пути=)

    • @vigilit-video1765
      @vigilit-video1765  4 роки тому

      Да, действительно, есть такая функция. Но она появилась только в Visio 2010: shapesheet-kb.github.io/ru/pages/functions/Функция%20PATHLENGTH.htm

    • @Ollbie
      @Ollbie 4 роки тому

      @@vigilit-video1765 Касательно создания smart stencil. Я еще не смог собрать все полученые знания из Ваших уроков в кучу, но сейчас остро стал вопрос и возможно в ближайших видео я найду на него ответ. Или через коментарии подскажете=) Суть такова, с тригерами все понятно, как реализовать смену формы фигуры через тригеры? Квадрат в круг, круг в триугольник, триугольник в паралелипипед и так далее.

    • @Ollbie
      @Ollbie 4 роки тому

      Дело в том что в AutoCAD есть такая штука как динамические компоненты, там внутренними средствами задается поведение фигуры при заданых условиях, в Визио я такой кнопки не нашел=)

    • @vigilit-video1765
      @vigilit-video1765  4 роки тому +1

      @@Ollbie самый простой способ - заранее собрать в группу несколько фигур разной формы и потом показывать их при включении той или иной опции.

    • @Ollbie
      @Ollbie 4 роки тому

      @@vigilit-video1765 Я так и думал, не совсем понятно упраление отображением, или по такому же принципу как и в видео о смене цвета?

  • @user-ul3ry1hy8i
    @user-ul3ry1hy8i 5 років тому

    Все по делу, очень полезно. Класс!
    У меня вопрос следующего плана: Можно ли автоматически скрыть либо удалить набор сгруппированных фигур?
    В идеале чтобы удаление происходило исходя от значение в ячейке User Defined Cells. Логика такова, я передаю значения из другой программы в User Defined Cells, а VISIO должна исходя от значения оставить фигуру либо удалить(скрыть). Пока сложности с реализацией, не подскажете?
    Вариант с VBA тоже можно рассмотреть

    • @vigilit-video1765
      @vigilit-video1765  5 років тому +2

      На самом деле все просто. Вы передаете значения в ячейку, например, 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

  • @ДмитрийКузнецов-ч8е

    Добрый день. Можно попросить ссылку на вообще визио?? Я был бы бездумно благодарен 😌