我有一个包含很多图像的Word文档,希望能够选择一个文件路径(新图像位于其中并编号为1到100),然后用新图像替换现有图像。
我已经阅读了其他一些文章,以获取现有inlineshapes的属性来实现此目的,但我也阅读了一些采用以下方法成功的人,该方法似乎更简单(我只是无法使代码充分发挥作用然而)。当前,代码将运行并完美地替换最后一个图像,但随后停止并显示错误“ 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怎么不起作用。如果有人可以解释为什么它不起作用,或者告诉我需要更改什么,那就太好了!