Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Application.Caller обрезает имя фигуры - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Application.Caller обрезает имя фигуры (Макросы/Sub)
Application.Caller обрезает имя фигуры
Udik Дата: Суббота, 10.06.2017, 19:16 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Мне надо получить имя фигуры, которая вызывает макрос. Попробовал стандартный Application.Caller. Чтобы потом использовать
Set obj1 = ThisWorkbook.ActiveSheet.Shapes(Application.Caller)
А оно мне народну индейску избу в виде нет компонента с таким именем. Стал разбираться, оказалось что коллер обрезает имя фигуры. Вместо Прямоугольник: скругленные углы 1 возвращает Прямоугольник: скругленные угл
Как это побороть?
Кроме варианта с переобзыванием фигуры :)
К сообщению приложен файл: 2047213.xlsm(15Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Суббота, 10.06.2017, 19:19
 
Ответить
СообщениеМне надо получить имя фигуры, которая вызывает макрос. Попробовал стандартный Application.Caller. Чтобы потом использовать
Set obj1 = ThisWorkbook.ActiveSheet.Shapes(Application.Caller)
А оно мне народну индейску избу в виде нет компонента с таким именем. Стал разбираться, оказалось что коллер обрезает имя фигуры. Вместо Прямоугольник: скругленные углы 1 возвращает Прямоугольник: скругленные угл
Как это побороть?
Кроме варианта с переобзыванием фигуры :)

Автор - Udik
Дата добавления - 10.06.2017 в 19:16
AndreTM Дата: Суббота, 10.06.2017, 19:36 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 496 ±
Замечаний: 0% ±

2003 & 2010
Не ты первый на это натыкаешься:
Цитата
It is caused by the Caller. If is Caller of type string then its lenght is limited to 30 characters. Characters above 30 are cut off. So (if possible) rename the shapes with names longer then 30 characters so the new name is shorter then or equal to 30 and the Caller will return complete name of such shapes. This behaviour doesn't depend of shape-type. If you rename normal rectangle so it's name lenght will exceed 30 then the Caller will return only the first 30 characters and Shapes("the_cutted_name") will throw error because shape with this name doesn't exist in shapes collection.


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеНе ты первый на это натыкаешься:
Цитата
It is caused by the Caller. If is Caller of type string then its lenght is limited to 30 characters. Characters above 30 are cut off. So (if possible) rename the shapes with names longer then 30 characters so the new name is shorter then or equal to 30 and the Caller will return complete name of such shapes. This behaviour doesn't depend of shape-type. If you rename normal rectangle so it's name lenght will exceed 30 then the Caller will return only the first 30 characters and Shapes("the_cutted_name") will throw error because shape with this name doesn't exist in shapes collection.

Автор - AndreTM
Дата добавления - 10.06.2017 в 19:36
Udik Дата: Суббота, 10.06.2017, 19:41 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Проклятый мелкософт!!! Чтоб они картошку стаканами продавали :)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеПроклятый мелкософт!!! Чтоб они картошку стаканами продавали :)

Автор - Udik
Дата добавления - 10.06.2017 в 19:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Application.Caller обрезает имя фигуры (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!