Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 28 мар 2024, 11:55

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !

Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 83 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: Создание сложных фигур с особыми параметрами масштабирования
СообщениеДобавлено: 16 май 2019, 10:32 
Не в сети
Бывалый

Зарегистрирован: 05 апр 2019, 12:47
Сообщений: 117
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание сложных фигур с особыми параметрами масштабирования
СообщениеДобавлено: 16 май 2019, 12:05 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 12 май 2012, 15:16
Сообщений: 122
Очков репутации: 13

Добавить очки репутацииУменьшить очки репутации
TheHeat писал(а):
Однако если вы вешаете макро на даблклик
Встроенное видео спрятано под спойлер ↓ Прямая ссылка на видео
Спойлер:
phpBB [youtube]

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


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание сложных фигур с особыми параметрами масштабирования
СообщениеДобавлено: 16 май 2019, 14:03 
Не в сети
Content manager
Content manager
Аватара пользователя

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 5043
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Интеграция системных интеграторов
Должность: Дизайнер по оформлению документации
Уровнь квалификации: Форматирование документов MS Word
TheHeat писал(а):
Как всетаки повесить на данную операцию что-то типа Try?
в VBA нет встроенного блока обработки исключений ! в ветке обсуждения можно посмотреть попытки выхода из ситуации: Try catch statement in VBA using the standard VBA error handling statements

_________________
База знаний ShapeSheet
Мой Youtube-канал @surrogate-tm
Мои трафареты


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 83 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB