Передача параметра в макрос VBA - PullRequest
2 голосов
/ 11 ноября 2008

Я пытаюсь запустить макрос при двойном щелчке по фигурам Visio.

Я хочу передать объект формы в макрос VBA, чтобы я мог что-то сделать в макросе в зависимости от идентификатора объекта Shape.

Можно ли передать параметр в макрос VBA. Если да, пожалуйста, дайте мне знать, как?

Спасибо.

Ответы [ 2 ]

1 голос
/ 11 ноября 2008

Вы можете поместить свой макрос как событие EventDblClick на фигуры, которые вы хотите посмотреть. Для этого вы должны использовать функцию CallThis (http://msdn.microsoft.com/en-us/library/aa212649(office.11).aspx), чтобы ваш макрос вызывался при каждом двойном щелчке по фигуре.

Для этого потребуется изменить таблицу форм для каждой фигуры, которую вы хотите просмотреть. Если вы предоставляете мастер (ы) для фигур, которые вы хотите наблюдать, это не должно иметь большого значения, но в противном случае вам придется написать код, который добавит событие к каждой фигуре, которую вы хотите посмотреть (хотя вы может использовать событие Document_ShapeAdded в документе, чтобы добавить ваше событие в форму при каждом добавлении формы)

1 голос
/ 11 ноября 2008

Когда вы нажимаете на объект, Selection изменяется. Вы можете использовать объект Selection в вашем макросе для ссылки на текущий выбранный объект.

Я не уверен, можно ли запускать макрос при двойном щелчке, но мой опыт работы с VBA не исходит от Visio. Как только прибегает к поиску, он как-то кажется возможным. Если вы поместите его в качестве кнопки на панели команд, прилагая немного больше усилий даже в контекстном меню, вы будете ограничены процедурой Sub без параметров в любом случае.

...