以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何用代码更换Word文件中的图片 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145478) |
||||
-- 作者:swimmer01 -- 发布时间:2020/1/21 17:30:00 -- [求助]如何用代码更换Word文件中的图片 老师,你好! 如题,我有一word文件的工作模板,其中插入有一张图片,要根据不同条件更换成其他图片,不知如何写代码,望指教。谢谢!
|
||||
-- 作者:有点蓝 -- 发布时间:2020/1/21 17:33:00 -- 不要提前插入图片,需要的时候再添加图片,参考:http://www.foxtable.com/webhelp/topics/2890.htm |
||||
-- 作者:swimmer01 -- 发布时间:2020/1/21 17:40:00 -- 由于图片位置不固定,且要处于文字下方,所以提前放置图片,采用更换图片最好了 |
||||
-- 作者:有点蓝 -- 发布时间:2020/1/21 20:04:00 -- 在文字下方添加占位符,直接替换即可:
|
||||
-- 作者:swimmer01 -- 发布时间:2020/1/21 20:44:00 -- 此主题相关图片如下:更换后.png 老师,你好! 可能是我没写清楚,我将截图发给你,谢谢!
|
||||
-- 作者:swimmer01 -- 发布时间:2020/1/21 20:45:00 --
|
||||
-- 作者:有点蓝 -- 发布时间:2020/1/21 20:47:00 -- 这种要按水印的方式添加,要使用vba:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=90243 |
||||
-- 作者:swimmer01 -- 发布时间:2020/1/21 20:56:00 -- 老师,是否可以用代码更换图片的方式实现?如行代码该如何写。谢谢! |
||||
-- 作者:有点蓝 -- 发布时间:2020/1/21 22:21:00 -- Dim app As New MSWord.Application try Dim fileName = "D:\\问题\\temp\\变电所命名及开关柜编号.docx" Dim doc As object = app.Documents.Open(fileName) Dim img = "D:\\问题\\temp\\背景2.jpg" \'图片路径 Dim Top As Integer = 0 Dim left As Integer = 0 Dim w As Integer = 0 Dim h As Integer = 0 For Each a As object In doc.Shapes Top = a.Top left = a.left w = a.width h=a.height Output.Show(a.Top) Output.Show(a.left) a.delete Next Dim s = doc.Shapes.AddPicture(img, False, True,Top ,left ,w,h) s.WrapFormat.Type = MSWord.WdWrapType.wdWrapBehind Doc.save catch ex As exception msgbox(ex.message) finally app.Quit End try
|
||||
-- 作者:swimmer01 -- 发布时间:2020/1/22 9:06:00 -- 老师,你好! 我测试了上述代码,出现两个问题:1、更换后图片位置发生了变化。2、如果word文件中有多个图片时,要换错,还有的图片被无辜删除。 |