Когда изображение вставляется в лист Excel с помощью метода Shapes.AddPicture (...), Excel автоматически присваивает ему имя «Изображение 1», «Изображение 2» и т. Д.
Это имя можно использовать для получения ссылки на этот объект формы в коллекции Shapes, например Shapes.Item («Рисунок 1»). Если имя изменено в Excel с помощью поля имени, существует два разных имени (или одно из них является ключом / подписью), через которые можно ссылаться на объект Shape. Поэтому, если я изменю имя на «MyPic», я могу использовать любой из них для ссылки на фигуру в коллекции Shapes:
Shapes.Item("Picture 1")
OR
Shapes.Item("MyPic")
Доступ к имени можно получить с помощью свойства Shape.Name в VBA, но как мы можем получить доступ к другому значению (MyPic), которое, похоже, не изменяется внутри?
ОБНОВЛЕНО
То, что я пытаюсь сделать, это связать ячейку с изображением в Excel. Я сохраняю данные изображения в комментарии клетки. Вот сценарии:
- Если я сохраню имя изображения (внешнее имя), то при копировании структуры на том же листе будет дублироваться имя, и ячейка будет указывать на ту же структуру.
- Если я сохраню внутреннее имя, то вставка копии на другой лист создаст проблему, поскольку такое же внутреннее имя может существовать на каком-то другом листе в той же книге.
- Если я возьму удостоверение личности, я не смогу получить от него ссылку на изображение
Для меня важно получить внутреннее имя. У меня есть ссылка на форму, но я не знаю, как получить внутреннее имя из этой ссылки.