MS Word 宏...无法插入 PNG
有人在使用 VBA 宏将 PNG 文件插入 Word 文档时遇到问题吗?
我有一个 MS Word 文档,其中包含非常大的图像文件目录列表,其中一张桌子。我被要求通过在名称前面插入相应的图像来更新文档。
现在,如果我手动输入图像(使用 Insert|Image|From File
),我就能够成功放置 PNG 图像...所以我决定编写一个快速的 VBA 宏来插入我的形象。以下是代码示例:
Dim myFile As String
Selection.SelectCell
Selection.Copy
myFile = _
Chr(34) & "C:\Documents and Settings\...\Project\Images\" _
& Left(Selection.Text, Len(Selection.Text) - 2) & Chr(34)
Selection.InlineShapes.AddPicture _
FileName:=myFile, LinkToFile:=False, SaveWithDocument:=True
结果:
- 每当我执行宏时,都会收到“无法转换”错误对话框,并且没有插入图像。
- 我什至更改了代码以调用
wdDialogInsertPicture
对话框,并且效果很好。
这非常令人困惑......使用手动流程,插入可以工作,但是使用自动解决方案,插入不起作用 !
有什么想法或建议吗?
Has anyone had problems inserting a PNG file into a word document, using a VBA Macro?
I have an MS Word document that contains a very large directory listing of image files, inside a table. I've been asked to update the document by inserting the corresponding image in front of the name.
Now, if I enter the image manually (using Insert|Image|From File
), I'm able to successfully place the PNG image ... so I decided to write a quick VBA Macro to insert the image for me. The following is a sample of the code:
Dim myFile As String
Selection.SelectCell
Selection.Copy
myFile = _
Chr(34) & "C:\Documents and Settings\...\Project\Images\" _
& Left(Selection.Text, Len(Selection.Text) - 2) & Chr(34)
Selection.InlineShapes.AddPicture _
FileName:=myFile, LinkToFile:=False, SaveWithDocument:=True
Outcomes:
- Whenever I execute the macro, I get the "Unable to Convert" error dialog, and no image is inserted.
- I even changed the code to invoke the
wdDialogInsertPicture
Dialog instead, and it worked just fine.
This is very confusing ... using a manual process, the insert works, but going with an automated solution, the insert doesn't work!
Any ideas or suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我已经尝试了几次宏并且它有效...似乎我无法再重新创建错误。所以,我打算将其标记在“Office VBA 的奥秘”一栏下,并保持原样......这不是一个高优先级的项目,因此我没有必要继续调查。
感谢 Alain 和 Joel Spolsky 的帮助。
I've tried the macro several times and it works ... it seems that I'm no longer able to re-create the error again. So, I'm going to mark this under the "mysteries of Office VBA" column and leave it as is ... this is not a high-priority project, so there is no need for me to continue investigating.
Thanks to Alain and Joel Spolsky for their help.