以文本方式查看主题

-  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
--  
文字下方添加占位符,直接替换即可:

ReplaceWithImage方法,将指定的内容替换为图片,语法:

ReplaceWithImage(findstr,imagefile,width,height)

findstr: 字符型,指定要查找的内容
imgefile:字符型,用于替换的图片文件
width: 整数型,指定图片宽度
height:整数型,指定图片高度

--  作者:swimmer01
--  发布时间:2020/1/21 20:44:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:更换后.png
图片点击可在新窗口打开查看
老师,你好!
可能是我没写清楚,我将截图发给你,谢谢!

图片点击可在新窗口打开查看此主题相关图片如下:更换前.png
图片点击可在新窗口打开查看


--  作者:swimmer01
--  发布时间:2020/1/21 20:45:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:temp.zip


--  作者:有点蓝
--  发布时间: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文件中有多个图片时,要换错,还有的图片被无辜删除。