У меня есть текстовый документ со многими изображениями, и я хочу иметь возможность выбрать путь к файлу (в котором новые изображения расположены и пронумерованы, т.е. от 1 до 100), чтобы затем заменить существующие изображения новыми изображениями.
Я прочитал несколько постов других, извлекающих свойства существующих встроенных форм для достижения этой цели, но я также читал людей, которым удалось выполнить следующий метод, который кажется намного более простым (я просто не смог заставить работать код полностью еще). В настоящее время код выполняется и заменяет последнее изображение совершенно нормально, но затем останавливается с ошибкой «438» - объект не поддерживает это свойство или метод, когда он пытается заменить второе последнее изображение.
Код выглядит следующим образом:
Sub Replace_images()
Dim rg As Word.Range
Dim i As Long
Dim doc As Word.Document
Dim path As String
'Ensure pictures are numbered with no leading zeros (in folder) & are .jpg
path = "C:\filepathtopictures\"
Set doc = ActiveDocument
For i = doc.InlineShapes.Count To 1 Step -1
Set rg = doc.InlineShapes(i).Range
doc.InlineShapes(i).Delete
rg = doc.InlineShapes.AddPicture(path & i & ".jpg", False, True, rg)
Next i
End Sub
Я не понимаю, как использование addpicture не работает для следующего изображения, когда ничего не изменилось с последнего изображения. Если кто-то может объяснить, почему это не работает, или скажите, что нужно изменить, это было бы здорово!