|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.01.2016, 12:05 | #1 |
Пользователь
Регистрация: 13.03.2014
Сообщений: 76
|
Shape в группе. Как понять в VBA, что выделена не просто группа, но и Shape (объект на группе)?
Выделяю группу (сгруппированы Shap'ы и надписи) щелчком.
По периметру высвечиваются 8 белых кружочков. Все хорошо. Я в VB работаю, как с группой и надо мне сделать Ungroup. И работает. А вот если сгоряча щелкнуть дважды (в руке дрогнул пистолет), то выделяется не просто группа, а еще и её элемент (он обрамляется своими ручками управления - серыми кружочками). И вот в этом случае при попытке Ungroup получаю: Run-time error... Данный компонент недоступен на объекте из группы. Как распознать ету ситуацию в VBA (Word 2003)? |
30.01.2016, 17:57 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Я попробовал выделить группу и ее элемент - получается, что объект Selection в этом случае ссылается на элемент и не несет информации о группе, хотя на экране группа тоже выделена.
Различить тип выделения можно так Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
01.02.2016, 16:05 | #3 |
Пользователь
Регистрация: 13.03.2014
Сообщений: 76
|
Легче стало дедушке - реже стал дышать :))
Спасибо, Казанский! Туда-то я и не поглядел.
Буду рыться. |
01.02.2016, 16:33 | #4 |
Пользователь
Регистрация: 13.03.2014
Сообщений: 76
|
Х.., там - штанга!! (С) Озеров Николай
в случае выделения объекта на группе:
? TypeName(Selection.ShapeRange) ShapeRange ? TypeName(Selection) Selection в случае выделения группы целиком - то же самое. Даже приведенная в ответе конструкция не выдает "GroupObject" |
01.02.2016, 21:48 | #5 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Если выбрана группа, то:
Selection.ShapeRange - собственно группа Selection.ChildShapeRange - выбранные элементы группы (их может быть несколько, а может и не быть - выбрана только группа).
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
02.02.2016, 12:27 | #6 |
Пользователь
Регистрация: 13.03.2014
Сообщений: 76
|
Вождю от благодарных соплеменников..
Спасибо, Вождь!!
Вектор подсказал мне. ВОт что я изобразил для перехода от дочернего объекта к группе целиком: Код:
|
02.02.2016, 14:32 | #7 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Работает, но не всегда. Попробуйте ваш макрос:
1. На файлах Doc и Docx - удивитесь 2. На вложенных группах - группа в группе. 2. На объектах Shape и InLineShape.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
15.02.2016, 10:26 | #8 |
Пользователь
Регистрация: 13.03.2014
Сообщений: 76
|
..В разных ситуациях..
Вождь, приветствую тебя, хау!!
Перечисленные тобой экзо-ситуации не критичны для моего случая. Речь идет о конкретной группе (типовой элемент узкоспецифичного документа) и в конкретной среде - только *.doc, а кто не спрятался - я не виноват. Т.ч., всё равно, спасибо!! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Делфи, объект Shape | Татина | Общие вопросы Delphi | 1 | 18.12.2015 17:00 |
Как разрулить конфликт в группе? | OldOwlOll | Свободное общение | 44 | 15.02.2015 08:45 |
Задача по теории вероятностей ( В группе 16 юношей и 14 девушек. Выбирают делегацию из 5 человек. Найти вероятность того, что...) | now2 | Помощь студентам | 3 | 25.03.2014 17:38 |
Pascal цикл с Shape.Left and Shape.Top | BanzoO | Помощь студентам | 1 | 13.12.2009 21:47 |
Программирование в группе, как будет легче? | Neeter | Свободное общение | 5 | 05.05.2009 16:07 |