Сегодня мы опишем ошибку, с которой могут сталкиваться пользователи Visio 2010 - в более ранних версиях Visio не запускается макрос, который был записан в Visio 2010. Эта проблема возникает из-за DiagramServices. Все записанные макросы в Visio 2010 добавляется API. Этот API был представлен в Visio 2010 и не поддерживается в предыдущих версиях программы.
Т.е., когда вы записываете макрос в Microsoft Visio 2010 и после пытаетесь запустить его в более ранних версиях Visio, появляется следующее сообщение об ошибке:
"Объект не поддерживает данное свойство или метод."
Для временного решения этой проблемы выполните следующие действия:
- Откройте графический файл, содержащий макрос в Visio.
- Откройте диалоговое окно Макросы, выберите макрос, который вызывает ошибку и нажмите кнопку Изменить.
- В редакторе Microsoft Visual Basic, удалите все строки кода и ссылки DiagramServices.
- Запустите макрос снова.
Ниже приведен пример кода макросов, который не работает в Microsoft Office Visio 2007 и более ранних версиях. Можно безопасно удалить следующие строки кода в комментарии, и макрос будет выполняться в более ранних версиях Visio.
'Enable diagram services.
Dim DiagramServices As Integer
DiagramServices = ActiveDocument.DiagramServicesEnabled
ActiveDocument.DiagramServicesEnabled = visServiceVersion140
'Restore diagram services.
ActiveDocument.DiagramServicesEnabled = DiagramServices