Foxtable(狐表)用户栏目专家坐堂 → word报表图片添加


  共有3418人关注过本帖树形打印复制链接

主题:word报表图片添加

帅哥哟,离线,有人找我吗?
qaz17909
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:795 积分:9037 威望:0 精华:0 注册:2017/1/26 14:38:00
word报表图片添加  发帖心情 Post By:2021/6/6 20:59:00 [显示全部帖子]

见实例,想在盖章的位置加上一个印章,但是实例加上图片后,后面的日期往下移了,另外就是采用替换的方法,“盖章”两个字也没了。希望能够实现图片浮于文字上方,并且保留“盖章”两个字。效果如下图所示:

图片点击可在新窗口打开查看此主题相关图片如下:效果.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:印章.rar




 回到顶部
帅哥哟,离线,有人找我吗?
qaz17909
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:795 积分:9037 威望:0 精华:0 注册:2017/1/26 14:38:00
  发帖心情 Post By:2021/6/7 9:23:00 [显示全部帖子]

可以添加图片,但是还有个地方不够完美。现在是通过绝对定位插入图片,但是如果盖章的位置随着文档的长短有上下变动的时候,会出现图片位置与盖章位置的偏离。有没有办法,通过“盖章”这个文字来定位。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:印章.rar



 回到顶部
帅哥哟,离线,有人找我吗?
qaz17909
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:795 积分:9037 威望:0 精华:0 注册:2017/1/26 14:38:00
  发帖心情 Post By:2021/6/7 9:58:00 [显示全部帖子]

我看二楼最后也是通过决定定位实现的啊,蓝老师可否帮我改下实例,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
qaz17909
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:795 积分:9037 威望:0 精华:0 注册:2017/1/26 14:38:00
  发帖心情 Post By:2021/6/7 10:24:00 [显示全部帖子]

蓝版,二楼的代码我都试过了,二楼第二个链接的方法是可以用字符替换图片的方式找到具体的位置,但是却无法实现图片浮于文字上方,后来我看那个同行也是通过具体定位来插入图片的。两者想同时兼具,在字符的位置插入图片并且图片浮于文字上方好像没有最终实现。

 回到顶部
帅哥哟,离线,有人找我吗?
qaz17909
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:795 积分:9037 威望:0 精华:0 注册:2017/1/26 14:38:00
  发帖心情 Post By:2021/6/7 11:38:00 [显示全部帖子]

我写法上是不是有什么不对,提示出错
Dim fl As String = ProjectPath & "test.docx"
Dim fl1 As String = ProjectPath & "test1.docx"
FileSys.CopyFile(fl,fl1,True)
Dim img As String = ProjectPath & "印章.png"
Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open(fl1)
    app.Selection.Find.Text = "盖章"
    app.Selection.Find.Execute
    Dim pic = app.Selection.InlineShapes.AddPicture(img, False, True)
    With pic
        .WrapFormat.Type = wdWrapFront
        .LockAspectRatio = msoCTrue '锁定纵横比
        .Height = CentimetersToPoints(2) '缩小为原来的20%
        .RelativeHorizontalPosition = wdRelativeHorizontalPositionRightMarginArea '相对于右边距
        .Left = -.Width '取图片宽度的负数
        .RelativeVerticalPosition = wdRelativeVerticalPositionBottomMarginArea '相对于下边距
        .Top = -.Height '取图片高度的负数
        .LockAspectRatio = True
        .Height = 100
    End With  
    Doc.SaveAs(Filename:= fl1)
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
End try
Dim Proc As New Process
Proc.File = fl1
Proc.Start()

 回到顶部
帅哥哟,离线,有人找我吗?
qaz17909
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:795 积分:9037 威望:0 精华:0 注册:2017/1/26 14:38:00
  发帖心情 Post By:2021/6/7 12:32:00 [显示全部帖子]

位置还是不对也,图片没有在“盖章“的位置而是往下了,另外,盖章两个字也没有了。
Dim fl As String = ProjectPath & "test.docx"
Dim fl1 As String = ProjectPath & "test1.docx"
FileSys.CopyFile(fl,fl1,True)
Dim img As String = ProjectPath & "印章.png"
Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open(fl)
    app.Selection.Find.Text = "盖章"
    app.Selection.Find.Execute
    Dim pic = app.Selection.InlineShapes.AddPicture(filename:=img, linktofile:=False, savewithdocument:=True).ConvertToShape '插入图形
    With pic
        .WrapFormat.Type = MSWord.WdWrapType.wdWrapFront
        .RelativeHorizontalPosition = MSWord.WdRelativeHorizontalPosition.wdRelativeHorizontalPositionRightMarginArea '相对于右边距
        .Left = -.Width '取图片宽度的负数
        .RelativeVerticalPosition = MSWord.WdRelativeVerticalPosition.wdRelativeVerticalPositionBottomMarginArea '相对于下边距
        .Top = -.Height '取图片高度的负数
        .LockAspectRatio = True
        .Height = 150
    End With
    Doc.SaveAs(Filename:= fl1)
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
End try
Dim Proc As New Process
Proc.File = fl1
Proc.Start()
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:印章.rar



 回到顶部