Foxtable(狐表)用户栏目专家坐堂 → word报表换行后不能对齐,replace也不起作用


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

主题:word报表换行后不能对齐,replace也不起作用

美女呀,离线,留言给我吧!
水墨青花
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:199 积分:1699 威望:0 精华:0 注册:2019/3/1 11:38:00
word报表换行后不能对齐,replace也不起作用  发帖心情 Post By:2021/5/11 21:28:00 [只看该作者]

老师:

word报表换行后,不能左侧对齐。使用 replace后,也不起作用。同时上传了word模板
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:test_202105112126.zip

,请老师帮助解决。谢谢!

这是模板:

[第一列]

 

<Replace([第一列],chr(10),"")>   

 

<Replace([第一列],chr(13),"")>   

 

<Replace([第一列],vbcrlf,chr(13))>

 

<Replace([第一列],vblf,chr(13))> 

 

<Replace([第一列],vbcr,chr(13))> 

 

<Replace([第一列],chr(13),vbcrlf)>


这是打印结果:

第一行

 第二行

 第三行

 第四行

 

第一行第二行第三行第四行         

 

第一行第二行第三行第四行         

 

第一行第二行第三行第四行         

 

第一行第二行第三行第四行         

 

第一行第二行第三行第四行         

 

第一行第二行第三行第四行         



 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/11 22:46:00 [只看该作者]

只能使用代码处理了

Dim tm As String  = ProjectPath & "Attachments\test.doc" '指定模板文件
Dim fl As String = ProjectPath & "Reports\test.doc" '指定目标文件
Dim wrt As New WordReport(Tables("表A"),tm,fl) '定义一个WordReport
wrt.Replace("[第一列]",Tables("表A").Current("第一列").replace(chr(10),""))
wrt.BuildOne(Tables("表A").Current)
wrt.Show() '显示报表

 回到顶部
美女呀,离线,留言给我吧!
水墨青花
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:199 积分:1699 威望:0 精华:0 注册:2019/3/1 11:38:00
  发帖心情 Post By:2021/5/12 10:56:00 [只看该作者]

老师,是否可以使用 ReplaceOne,只对当前行替换

wrt.ReplaceOne("[第一列]",Tables("表A").Current("第一列").replace(chr(10),""))

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/12 10:58:00 [只看该作者]

可以,这种问题试试不就知道了

 回到顶部
美女呀,离线,留言给我吧!
水墨青花
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:199 积分:1699 威望:0 精华:0 注册:2019/3/1 11:38:00
  发帖心情 Post By:2021/5/12 11:04:00 [只看该作者]

老师,还有一个问题:

实际操作中,不会只打印“表A”的内容,还会有其他几个关联父表(如表B,表C)的内容,每一个用到的父表的列,都需要按照如下方式编写吗?

例如:

wrt.Replace("[第一列]",Tables("表A").Current("第一列").replace(chr(10),""))
wrt.Replace("[第二列]",Tables("表B").Current("第二列").replace(chr(10),""))
wrt.Replace("[第四列]",Tables("表C").Current("第四列").replace(chr(10),""))

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/12 11:05:00 [只看该作者]

是,涉及到多行文本的都要这样处理

 回到顶部