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

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

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 11:40 
Помогите с макросом!
Заранее благодарствую!


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 12:54 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3955
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
Yorik писал(а):
Помогите с макросом!
приведите ваш код пожалуйста, поможем.
Или вам с нуля надо написать?
Дополнено позднее: а Ви таки уверены, шо оно таки вам надо? Есть готовый инструмент!
Shishok в сообщении #6537 писал(а):
Добавил дополнительные инструменты:

Изображение

1 - Расширенный режим выделения
2 - Выделение секущей рамкой
3 - Выделение секущей линией


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 13:22 
Цитата:
ActiveWindow.Select Application.ActiveWindow.Page.Shapes.ItemFromID(47), visSelect
ActiveWindow.Select Application.ActiveWindow.Page.Shapes.ItemFromID(48), visSelect
ActiveWindow.Select Application.ActiveWindow.Page.Shapes.ItemFromID(49), visSelect
Application.ActiveWindow.Selection.Copy


... но весь вопрос в том, что в разных документах ID имеют разные номера, но шейпы находятся в доках примерно в одном месте


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 13:39 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3955
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
Ваш код не универсальный, точнее не ваш а выданный макрорекордером
Я выше дал ссылку на надстройку, которая решает вопрос выделения фигур
Дополнено позднее: если надо во множестве файлов захватывать одну и ту же область, не используя выделение мышью.
В сообщении #5683 есть фрагмент с созданием временного шейпа, где происходит определение фигур которые захватываются им
Код:
Set sh = ActivePage.DrawRectangle(x, y, x2, y2) 'временный вспомогательный шейп c
Set sel = sh.SpatialNeighbors(visSpatialContain + visSpatialOverlap + visSpatialTouching, 0, 0) 'определение соседей верменного шейпа
For Each sht In sel 'выделение на экране всех найденных шейпов
   ActiveWindow.Select sht, visSelect
Next sht
временный шейп должен иметь интересующие вас координаты, которые задаются в дюймах (единице измерения в визио по умолчанию)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 14:48 
Спасибо!
Попробую


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 15:01 
ОШИБКА!
Невозможно загрузить следующее решение, поскольку не установлена поддержка МОф для .NET Framework 4.0:SelectShapesAddin.vsto


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 18:09 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3955
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
Гость писал(а):
ОШИБКА!
Невозможно загрузить следующее решение
похоже в проекте эта библиотека отсутствует и у вас также. Попробуйте поставить эту библиотеку. Если не поможет, есть специальные инструменты восстановления


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 19:48 
Не помогло (


Пожаловаться на это сообщение
Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 20:17 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3955
Откуда: оттуда
Использую Visio c: 1998
Уровнь квалификации: Отсутствует
Гость писал(а):
Не помогло (
установили библиотеки, и надстройка все равно не ставится?
А какая версия визио?

В надстройке ещё масса дополнительных возможностей (фильтров), по аналогии с AutoCAD. Попробуйте свой код написать конкретно под данную задачу!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 20:56 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 516
Использую Visio c: 2008
Очков репутации: 105

Добавить очки репутацииУменьшить очки репутации
Цитата:
... но весь вопрос в том, что в разных документах ID имеют разные номера, но шейпы находятся в доках примерно в одном месте

Если так, то может эти шейпы имеют свойства специфичные только для них?
И следует выделять только соответствующие этим свойствам шейпы?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 21:17 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 516
Использую Visio c: 2008
Очков репутации: 105

Добавить очки репутацииУменьшить очки репутации
И кстати...
Недавно устанавливал одну из своих надстроек(таблицы) на компе со свежей виндой(7), запустив файл setup.exe. Тоже выдал ошибку(не запомнил какую, может такую же). Запустил файл бла-бла.vsto. Все встало.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Поиск шейпа(ов) в определенном диапазоне координат
СообщениеДобавлено: 26 окт 2019, 22:13 
Не в сети
Ветеран
Аватара пользователя

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

Добавить очки репутацииУменьшить очки репутации
Еще одна идея - может у тебя в винде фильтр стоит (SmartScreen). Может блокировать непонятные файлы.
Попробуй перед раз-зиповыванием нажать Unblock.

То есть, скачиваешь ZIP, нажимаешь на него правой кнопкой мыши - "свойства", ставишь флажок "разблокировать".
Дальше все как раньше, раз-зиповываешь, запускаешь setup.exe

Изображение

У меня всё поставилось, только что проверил. Чистая винда (новый ноут купил в прошлом месяце 8-) ) Никаких библиотек не потребовало.

Да, у тебя какая версия Visio?
Если у тебя Visio 2007, убедись что установлен Service Pack 3 и VSTO Runtime
Если у тебя Visio 2010, убедись что установлен Service Pack 2

_________________
Инструменты для облегчения создания диаграмм, и статьи по Visio:
http://unmanagedvisio.com/


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

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



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

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


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

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