Форум пользователей Visio
http://visio.getbb.ru/

Создание сложных фигур с особыми параметрами масштабирования
http://visio.getbb.ru/viewtopic.php?f=6&t=1448
Страница 5 из 5

Автор:  TheHeat [ 16 май 2019, 10:32 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

Tumanov писал(а):
Цитата:
как сделать чтобы после vsoSelection.Ungroup можно было работать с выделенными объектами через For Each Shape In vsoSelection?
У меня цикл For пропускает вообще, а MsgBox vsoSelection.Count возвращает 0.

Переобъявить Selection.
До разгруппировывания был шейп-группа. Он был селектирован. Это и было vsoSelection.
После выполнения операции этот шейп исчез. vsoSelection стало пустым.
Если теперь сделать Set vsoSelection = ActiveWindow.Selection, то будет уже новый объект, в который войдут все селектированные в данный момент шейпы. Это как раз и будет то, что высыпалось из группы.

Все логично, спасибо. Сам догадывался что дело в этом, но как исправить ума не хватило.

Surrogate писал(а):
TheHeat писал(а):
как сделать, чтобы vsoSelection.Ungroup не ругался если объект не сгруппирован?
делать проверку на тип объекта, только если группа запускать команду разгруппировать

Нашел ваш пример и сделал вот так: If ActiveWindow.Selection(1).Shapes.Count > 0 Then vsoSelection.Ungroup
Однако если вы вешаете макро на даблклик, то велика вероятность, что у группы SelectMode = 1, то есть даблклик запустит макрос и выделит один шейп под мышкой внутри группы, что выдаст опять ошибку. Можно как-то по-другому определить группу?

upd. vsoSelection.Ungroup так тоже не будет работать, так что проехали и спасибо за подсказку
upd2. Как всетаки повесить на данную операцию что-то типа Try? Если не получается то msgbox, а не ошибка VBA

Автор:  Евгени [ 16 май 2019, 12:05 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

TheHeat писал(а):
Однако если вы вешаете макро на даблклик
phpBB [youtube]

это вы собрались разрушать программно шейп у которого такой макрос прописан на событие "двойной щелчок" ?
TheHeat писал(а):
Как всетаки повесить на данную операцию что-то типа Try? Если не получается то msgbox, а не ошибка VBA
А почему в C# не хотите сделать ?

Автор:  Surrogate [ 16 май 2019, 14:03 ]
Заголовок сообщения:  Re: Создание сложных фигур с особыми параметрами масштабирования

TheHeat писал(а):
Как всетаки повесить на данную операцию что-то типа Try?
в VBA нет встроенного блока обработки исключений ! в ветке обсуждения можно посмотреть попытки выхода из ситуации: Try catch statement in VBA using the standard VBA error handling statements

Страница 5 из 5 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/