以文本方式查看主题 - 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=66177) |
-- 作者:shenyl0211 -- 发布时间:2015/3/31 16:32:00 -- [求助]word报表中如何根据文本列的文本内容插入相应的签名图片 在管理表中有“审核人”列,审核人为“张三”、“李四”这样的文本内容,而不是签名图片,现在要根据“张三”、“李四”自动调用相应的签名图片“张三.jpg”、“李四.jpg”插入到word表中。请问该如何实现?谢谢! |
-- 作者:有点甜 -- 发布时间:2015/3/31 16:36:00 -- 加入一列图片列,引用图片列。 |
-- 作者:Bin -- 发布时间:2015/3/31 16:37:00 -- 图片放到Images目录里 利用ReplaceOne 替换设置标签 [&&张三.png,48,48] 即可
|
-- 作者:shenyl0211 -- 发布时间: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" 4、下列语句为什么不会变换图片呢? For Each r As Row In Tables("考核管理").Rows
难道真的只能用专业报表了吗? |
-- 作者:有点甜 -- 发布时间:2015/4/1 21:36:00 -- 1、你可以用动态添加临时列或表达式列的方式啊;
2、没有这种语法;
3、只有这种方法;
4、第一个参数,必须是决定路径,比如 d:\\test.jpg |
-- 作者:shenyl0211 -- 发布时间:2015/4/2 12:29:00 -- 甜版: 第4条的图片是显示的,但经过测试,不管其他行的“考核人”是谁,即不管r("考核人")的值是什么,用的都是第一行“考核人”的图片。 word报表真的需要完善。 |
-- 作者:有点甜 -- 发布时间:2015/4/2 14:08:00 -- 4、不可能,只要你合成的路径正确,就不会有问题,路径必须是绝对路径。 |
-- 作者:shenyl0211 -- 发布时间:2015/4/2 15:26:00 -- 甜版:经过测试,真的是可能的。规律如下: 1、只要图片文件与项目文件在同一个文件夹就可以,无需指定路径,根本不是必须在某个其它文件夹中。 2、只要第一个图片不存在,以后的图片就都不显示,但文字内容不变。 3、只要第一个图片存在,以后的图片就都不会改变,不管以后的图片是否存在。
你可以用一个单元格的模板文件、一列数据的表格、一张图片就可以测试。
[此贴子已经被作者于2015/4/2 15:26:35编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/4/2 16:22:00 -- 测试了一下 ReplaceWithImage 是整体性替换的。 |
-- 作者:shenyl0211 -- 发布时间:2015/4/2 20:18:00 -- 针对现实的应用和ReplaceWithImage存在的上述问题,希望狐爸能对ReplaceWithImage做些改进, 因为ReplaceWithImage查找的字符串肯定是具体的某列,而不会是某个具体的值, 例如,应该是[考核人]列,而不会是“张三”值,因为“张三”值可能出现在[姓名]、[经办人]、[审批人]、[审核人]列,但这些列都不是要替换的对象。 而用于替换的图片肯定与查找的字符串有关, 例如,查找“张三”值肯定是要用“张三”的图片,如果要用“李四”的图片,正常情况下应会先批量更改“张三”值为“李四”值,再将“李四”值替换为“李四”的图片。 |