Foxtable(狐表)用户栏目专家坐堂 → [求助]word报表中如何根据文本列的文本内容插入相应的签名图片


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

主题:[求助]word报表中如何根据文本列的文本内容插入相应的签名图片

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[求助]word报表中如何根据文本列的文本内容插入相应的签名图片  发帖心情 Post By:2015/3/31 16:32:00 [只看该作者]

在管理表中有“审核人”列,审核人为“张三”、“李四”这样的文本内容,而不是签名图片,现在要根据“张三”、“李四”自动调用相应的签名图片“张三.jpg”、“李四.jpg”插入到word表中。请问该如何实现?谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/31 16:36:00 [只看该作者]

 加入一列图片列,引用图片列。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/31 16:37:00 [只看该作者]

图片放到Images目录里

利用ReplaceOne 替换设置标签
[&&张三.png,48,48]  即可

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/4/1 21:33:00 [只看该作者]

1、甜版的方法在帮助中有介绍,虽然可行,但实在不想增加图片列,这样数据库会很大,也不好看。我的考勤管理系统中都用字符型签字,最后的请假条、考勤表、出差费汇总表、加班费汇总表等用专业报表打印签名。

2、现在想用word报表打印考核管理系统的考核表,将“考核人”单元格公式用[&&<[考核人]>.png,53,40]不行。

3、按bin版主的下列思路结果还是与[&&<[考核人]>.png,53,40]一样,单元格仅变成了[&&张三.png,53,40],还是停留在模板阶段:

    Dim tm As String  = ProjectPath & "Attachments\考核表.doc"
    Dim fl As String = ProjectPath & "Reports\考核表.doc"
    Dim wrt As New WordReport(Tables("考核管理"),tm,fl) 
    Dim tp As String
    For Each r As Row In Tables("考核管理").rows
         tp = "[&&" & r("考核人") & ".png,53,40]"
         wrt.ReplaceOne("[考核人]",tp)
         wrt.BuildOne(r)
    Next
    wrt.show()

4、下列语句为什么不会变换图片呢?

    For Each r As Row In Tables("考核管理").Rows
        wrt.ReplaceWithImage("[考核人]",r("考核人") & ".jpg",53,40)
        wrt.buildone(r)
    Next

 

难道真的只能用专业报表了吗?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/4/1 21:36:00 [只看该作者]

1、你可以用动态添加临时列或表达式列的方式啊;

 

2、没有这种语法;

 

3、只有这种方法;

 

4、第一个参数,必须是决定路径,比如 d:\test.jpg


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/4/2 12:29:00 [只看该作者]

甜版:

第4条的图片是显示的,但经过测试,不管其他行的“考核人”是谁,即不管r("考核人")的值是什么,用的都是第一行“考核人”的图片。

word报表真的需要完善。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/4/2 14:08:00 [只看该作者]

4、不可能,只要你合成的路径正确,就不会有问题,路径必须是绝对路径。

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/4/2 15:26:00 [只看该作者]

甜版:经过测试,真的是可能的。规律如下:

1、只要图片文件与项目文件在同一个文件夹就可以,无需指定路径,根本不是必须在某个其它文件夹中。

2、只要第一个图片不存在,以后的图片就都不显示,但文字内容不变。

3、只要第一个图片存在,以后的图片就都不会改变,不管以后的图片是否存在。

 

你可以用一个单元格的模板文件、一列数据的表格、一张图片就可以测试。

 

[此贴子已经被作者于2015/4/2 15:26:35编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/4/2 16:22:00 [只看该作者]

 测试了一下 ReplaceWithImage 是整体性替换的。

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/4/2 20:18:00 [只看该作者]

针对现实的应用和ReplaceWithImage存在的上述问题,希望狐爸能对ReplaceWithImage做些改进,

因为ReplaceWithImage查找的字符串肯定是具体的某列,而不会是某个具体的值,

例如,应该是[考核人]列,而不会是“张三”值,因为“张三”值可能出现在[姓名]、[经办人]、[审批人]、[审核人]列,但这些列都不是要替换的对象。

而用于替换的图片肯定与查找的字符串有关,

例如,查找“张三”值肯定是要用“张三”的图片,如果要用“李四”的图片,正常情况下应会先批量更改“张三”值为“李四”值,再将“李四”值替换为“李四”的图片。


 回到顶部
总数 14 1 2 下一页