此代码从Outlook运行并自动化Word。
我想将Outlook邮件项目中的图像附件插入到新的Word文档中。我正在保存附件并使用代码中的图像文件路径,如下所示。
代码成功创建了一个新的Word文档,但如果我使用ActiveDocument对象,则不会插入图像 - 没有错误,只是不起作用。
如果我创建一个新对象(objActiveDoc)来替换ActiveDocument - 为Word明确显示它,我收到错误“请求对象不可用”。
我单独使用Word进行测试(没有Outlook参与),并且可以使用ActiveDocument成功插入图像。
Dim objWord As Word.Application
Dim objDoc As Document
Dim objActiveDoc As Document
Dim ImagePath As String
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add 'Create a new word Doc
Set objActiveDoc = objWord.ActiveDocument 'Do this as working from Outlook, not Word
ImagePath = "P:\OutlookImage\Image1.jpg"
'With ActiveDocument '<------------ Does not work, no error
With objActiveDoc '<------------- ERROR Requested Object Not Available
.Shapes.AddPicture FileName:=ImagePath, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=-5, _
Top:=5, _
Anchor:=Selection.Range, _
Width:=111, _
Height:=111
End With
如何将图像插入Word文档?
答案 0 :(得分:1)
由于您已将objDoc设置为您创建的用于保存图像的新文档,为什么然后忽略它并使用ActiveDocument?
摆脱objActiveDoc并使用objDoc,如果您的图像始终是正方形,您的代码将完全按照您的意愿工作。
如果要添加的图像可能不是正方形,请避免设置高度和宽度,否则可能会使图像失真。