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

Форум по вопросам применения и программирования в Visio
Текущее время: 29 мар 2024, 09:50

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


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


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

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: вопрос по выделению фигур
СообщениеДобавлено: 19 мар 2012, 20:45 
Не в сети

Зарегистрирован: 19 фев 2012, 17:10
Сообщений: 8
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Доброго вреиени суток
Имеется на листе большое количество разных шейпов, как выделить только те из них, которые имеют родительским шейп к примеру Indicator

ActiveWindow.DeselectAll
ActiveWindow.Select Application.ActiveWindow.Page.Shapes.ItemU("Indicator"), visSelect
выбирает только один шейп


чувствую что элементарщина но мозг ближе к ночи отключается)))


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: вопрос по выделению фигур
СообщениеДобавлено: 19 мар 2012, 22:42 
этот код выделяет только шейп с именем Indicator, остальные имеют имена типа Indicator.N - поэтому выделяет только один шейп!

думаю тут перебором надо. у меня тоже мозги уже не работают на ночь глядя - не могу подсказать готовое решение :)


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: вопрос по выделению фигур
СообщениеДобавлено: 05 апр 2012, 15:00 
Попробуй так...
Dim visPage As Visio.Page
Dim strIndicator As String
Sub DDD()
ActiveWindow.DeselectAll
Set visPage = Visio.Application.ActivePage
IndicatorSelect
End Sub

Sub IndicatorSelect()
Dim I As Integer
'Здесь можно поставить любое значение ,например "Indicator"
strIndicator = "Indicator"
For I = 1 To visPage.Shapes.Count
' надо поставить число букв в имени искомого шейпа,например Indicator = 9 букв
If Mid(visPage.Shapes.ItemU(I), 1, 9) = strIndicator Then
Visio.Application.ActiveWindow.Select Application.ActiveWindow.Page.Shapes(I), visSelect
End If
Next
End Sub
'Пишет на листе,как называется фигура (ItemU)
Sub TTT()
Dim I As Integer
Set visPage = Visio.Application.ActivePage
For I = 1 To visPage.Shapes.Count
visPage.Shapes(I).Text = visPage.Shapes.ItemU(I)
Next
End Sub


Последний раз поднималось Anonymous 05 апр 2012, 15:00.


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

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



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

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


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

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