Определение Имени Картинки В Макросе

ЧИА

Active member
22.10.2009
33
0
#1
На листе имеется несколько картинок. Всем назначен один Макрос.
Как в Макросе определить - какая картинка его запустила. Т.е. узнать ее (картинки) индекс или имя?
 

alex77755

Well-known member
15.02.2009
128
0
#2
На листе имеется несколько картинок. Всем назначен один Макрос.
Как в Макросе определить - какая картинка его запустила. Т.е. узнать ее (картинки) индекс или имя?
Загнать их всех в массив.
И макрос будет один и индекс появится
 

ЧИА

Active member
22.10.2009
33
0
#3
Не понял идею с массивом.
Когда я нажимаю на картинку, запускается назначенный ему макрос.
И уже управление внутри макроса. Для меня основная проблема - это,
как определить, что макрос запустился картинкой №5 или "Picture 5".
Возможно, есть какие-то параметры, определяющие индекс или имя картинки, которые могут быть доступны внутри макроса
 

alex77755

Well-known member
15.02.2009
128
0
#4
Пример массива картинок на листе. Разбирайся

Добавлено: Архив прицепил, но что-то не видно его?

Добавлено:
Пример массива картинок на листе. Разбирайся

Добавлено: Архив прицепил, но что-то не видно его?

Добавлено: если на листе есть не только картинки, то во избежании ошибок, добавить проверку:

Код:
Sub Add_Massiv()
t = 1
For Each S In Лист1.OLEObjects
If TypeName(S.Object) = "Image" Then
ReDim Preserve P(1 To t)
Set P(t).PC = S.Object
t = t + 1
End If
Next
End Sub
 

Вложения

ЧИА

Active member
22.10.2009
33
0
#5
Совершенно замечательное решение!
И подбор картинок в КОН.
Боюсь показаться неблагодарным, но когда я писал "картинки", то имел ввиду не элементы управления, а рисунки, вставленные из файлов, например, в формате .JPG. И им назначается ОДИН Макрос через контекстное меню - Назначить макрос...
EXCEL-файл формируется программно с большим количеством картинок (рисунков).
И позвольте еще раз задать вопрос:
как определить, что макрос запустился картинкой №5 или "Picture 5" (не Image)? И уже анализируя индекс или имя делать какие-то выводы.