1

У меня есть папка с файлами изображений: pic1, pic1a, pic2, pic2a .... и т.д. До pic22a

У меня есть электронная таблица, в которой есть места для каждого изображения, которое нужно разместить. Картинки меняются ежедневно, но имена файлов остаются прежними. Каждый день мне приходится печатать PDF таблицы с обновленными картинками. Можно ли автоматически обновлять электронную таблицу новыми изображениями, а не менять их каждый день вручную. Я думал, что это будет относительно просто, но, видимо, нет.

для простоты, скажем, картинки должны быть расположены A1:B2, C1:D2 и т. д., а картинки находятся в папке «картинки-здесь»

Кто-нибудь может предложить некоторую помощь, или знать метод, который я могу использовать

Большое спасибо Джон

1 ответ1

0

Это предварительное решение. Попробуйте эти два макроса.

Sub Del_Pics()

    Dim MyPics As Object
    For Each MyPics In ActiveSheet.Pictures
        MyPics.Delete
    Next MyPics

End Sub

Sub Add_Pics()
   On Error Resume Next
   Range("C1").Select
   ActiveSheet.Pictures.Insert ("C:\Temp\pic1.jpg")
   Range("F1").Select
   ActiveSheet.Pictures.Insert ("C:\Temp\pic1a.jpg")
End Sub

Первый макрос с именем Del_Pics удалит все вставленные изображения из файла. Предполагается, что у вас нет статических вставленных изображений в файл, который вы хотите всегда присутствовать в файле.

Второй макрос Add_Pics добавляет соответствующие изображения в соответствующие ячейки в файле. Вам необходимо изменить это, чтобы указать точное имя файла, путь и местоположение ячейки, как это применимо на вашем листе. Повторите для всех фото. Однако возможно и более разумное решение для зацикливания всех файлов в папке и размещения в соответствующих ячейках.

Это предварительное решение. Это не проверяет размер изображения и не регулирует высоту и т.д.

Нажмите ALT + F11 для доступа к VBA Editor, вставьте модуль из меню вставки и вставьте в него вышеуказанный код.

Когда нужно запустить то же самое. Нажмите ALT + F8 для доступа к диалоговому окну Macro, выберите и запустите нужные макросы. Вы можете также объединить их в один код. Сначала разместите код Del_Pics.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .