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

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

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


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


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

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: VBA в Visio
СообщениеДобавлено: 03 ноя 2017, 16:45 
Здравствуйте.

Начинаю изучать данный язык его применение в Визио. Подскажите, пожалуйста, как решить след. задачу.

есть цикл по shape на листе. у каждого шейпа есть имя.

нужно вывести ошибки по шейпам , у которых совпадают наименования с указаним ИД шейпа

В каком направлении копать?

Заранее спасибо


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: VBA в Visio
СообщениеДобавлено: 03 ноя 2017, 17:07 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 963
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100614

Добавить очки репутацииУменьшить очки репутации
А что такое "ошибка шейпа"?

_________________
Полезные инструменты для создания диаграмм Visio:
https://unmanagedvisio.com/


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: VBA в Visio
СообщениеДобавлено: 03 ноя 2017, 17:50 
шейпы, у которых наименования совпадают - это ошибка. их нужно идентифицировать


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: VBA в Visio
СообщениеДобавлено: 03 ноя 2017, 18:24 
Гость писал(а):
шейпы, у которых наименования совпадают - это ошибка.
наименования чего ?


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: VBA в Visio
СообщениеДобавлено: 03 ноя 2017, 18:36 
Не в сети
Administrator

Зарегистрирован: 30 авг 2009, 11:02
Сообщений: 2253
Очков репутации: 100626

Добавить очки репутацииУменьшить очки репутации
Цитата:
наименования чего ?

Дело в том, что у шейпов на одной странице не может быть одинаковых имен.
Значит Вы под именем или наименованием понимаете что-то другое. Отсюда и вопрос.
Полезно было бы приложить файлик, в котором было бы хотя бы 2 шейпа с этим одинаковым чем-то.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: VBA в Visio
СообщениеДобавлено: 03 ноя 2017, 18:38 
@Tumanov, в точку!
Встроенное видео спрятано под спойлер ↓ Прямая ссылка на видео
Спойлер:
phpBB [youtube]


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: VBA в Visio
СообщениеДобавлено: 03 ноя 2017, 20:39 
Не в сети
Ветеран
Аватара пользователя

Зарегистрирован: 28 апр 2013, 14:03
Сообщений: 963
Откуда: Вена, Австрия
Использую Visio c: 1998
Очков репутации: 100614

Добавить очки репутацииУменьшить очки репутации
А, кажется понял. На диаграмме не должно быть дубликатов одного и того же по нескольку раз.
Две фигуры считаются дубликатами, если на них написано одно и тоже. Вот их-то и надо вывести.
Правильно?

Код:
Sub PrintDuplicates()

Set seen = CreateObject("Scripting.Dictionary")

For Each s In ActivePage.Shapes
   
    shapeText = s.Text
   
    If Not seen.Exists(shapeText) Then
        seen.Add shapeText, New Collection
    End If
   
    seen(shapeText).Add s.ID
Next

For Each k In seen
    If seen(k).Count > 1 Then
   
        Line = "'" & k & "'"
        For Each ShapeID In seen(k)
            Line = Line & " " & ShapeID
        Next
       
        Debug.Print Line
       
    End If
Next

End Sub


Вложения:
Sub PrintDuplicates.vsd [27 Кб]
Скачиваний: 110

_________________
Полезные инструменты для создания диаграмм Visio:
https://unmanagedvisio.com/
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

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



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

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


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

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