Установка изображения по имени с помощью шаблона в VBA

Я пытаюсь импортировать изображение из одной книги в другую и редактировать ее. Я не могу найти правильный способ назвать его или определить его, как только он вставлен в новую книгу. В WB1 будет только одно изображение, поэтому я хочу, чтобы цикл прошел, пока он не найдет изображение.

Он будет называться что-то вроде Picture 1, Picture 2, Picture 10 и т. Д., Поэтому я думаю, что должен был бы определить mapSHP чем-то вроде «Picture *», но я не могу заставить это работать.

Очевидно, что я определил WB1, WB2 и pasteWS ранее и определил mapSHP как форму.

For Each s In WB1.Worksheets If s.Pictures.Count > 0 Then For Each pic In s.Shapes pic.Copy WB2.Activate pasteWS.Range("A1").Select pasteWS.Pictures.Paste Set mapSHP = pic GoTo gotPic: Next pic End If Next s gotPic: 

Спасибо за помощь.

Если я правильно прочитал ваш вопрос, проблема в том, что нет способа рассказать картинку из диаграммы из объекта Shapes коллекции Shapes (AFAIK).

Однако, поскольку вы заявили, что у Картина всегда будет такое имя, как Picture 1 ... Picture 2 ... Picture 10 вы можете использовать свойство Shape.Name, чтобы найти 1 изображение на листе.

Затем, когда вы его скопируете, вы можете использовать одно и то же имя, чтобы установить объект в переменную mapSHP как имя должно совпадать при наклеивании.

См. Код ниже. Я немного реорганизовал, чтобы сделать его более эффективным:

 For Each s In WB1.Worksheets If s.Shapes.Count > 0 Then For Each pic In s.Shapes If Left(pic.Name, 3) = "Pic" Then Dim sName As String sName = pic.Name pic.Copy Exit For 'since we found the picture, exit End If Next pic WB2.Sheets(pasteW2.Name).Range("A1").Paste Set mapSHP = WB2.Sheets(pasteW2.Name).Shapes(sName) GoTo gotPic: End If Next s gotPic: 
  • Как вставить изображение в камеру excel?
  • Экспортировать изображение с рисунком в Excel
  • Добавить изображение на лист Excel с Delphi 6
  • Показать изображение из папки на основе значения ячейки в MS Excel
  • Нажмите ось графика - значение выходной оси для ячейки
  • Вставка изображений в строку в таблицы Excel
  • Возможно ли вставить изображение 200 JPG вместе в файл excel с тем же размером в свою ячейку?
  • Как получить экранные координаты изображения (фигуры), размещенного над ячейкой excel в Excel 2007/2010
  • Извлечение изображений из документа Excel
  • Экран Excel Interop не отображается
  • Interesting Posts

    Обработчик Vba 'error' не работает

    найти и заменить, если 2 столбца одинаковы

    Объекты отображаются в виде черных ящиков при печати PDF из Excel

    Бронирование номера в электронной таблице Google

    Макрос Excel, выделенному полужирным шрифтом, на основе имени столбца и значения ячейки

    Автоматическое заполнение столбцов на одном листе с другого листа

    Excel не находит соответствия для формата, даже если выбран параметр «Выбрать формат из ячейки»

    Выбор и удаление листов Excel с помощью пользовательской формы

    Проверьте, обновлен ли рабочий лист перед запуском макроса в VBA

    Получение данных с веб-страницы

    Изменение местоположения существующего VBA Reference из C: \ Windows \ system32 \ на общий диск

    VBA Autofilter с переменным диапазоном

    openpyxl – рабочий лист только для записи не может добавить таблицу

    VBA: метод диапазона, не дающий желаемого результата

    Добавить регрессионную линию в логарифмическую шкалу x

    Давайте будем гением компьютера.