Excel 2013 вставка картинок автоматически

237
Johnny H

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

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

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

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

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

1

1 ответ на вопрос

0
pat2015

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

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.

Позже я попробую, у меня есть одна картинка с логотипом, которая всегда присутствует на странице, которую я мог бы просто снова заполнить. У меня также есть изображение в заголовке и другое в нижнем колонтитуле, это будет затронуто? Большое спасибо Johnny H 6 лет назад 0
Тест с моей стороны подтверждает, что код не касается изображений в верхнем или нижнем колонтитуле. Если вы знаете точное местоположение ячейки статического изображения, о котором идет речь, вы можете просто добавить строку, чтобы каждый раз повторять ее. pat2015 6 лет назад 0

Похожие вопросы