以文本方式查看主题

-  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=188412)

--  作者:mscf
--  发布时间:2023/9/19 11:11:00
--  如何选择对应word模板生成报表
1.在窗口拟设计一个表控件,内容来自“表1”,内有一列,列标题为“模板”,下面各行内容分别为a b c 
2.在Attachments下分别对应有a.doc、b.doc、 c.doc 模板。
3.模板数据来自“表2”
3.拟添加一个按钮,实现在表控件中选定一行,点击按钮则生成打印对应的模板。如,选 a 点击按钮,则根据“表2”的内容,选择a.doc模板 生成报表;选 b 点击按钮,则根据“表2”的内容,选择b.doc模板 生成报表;

求按钮代码或其它解决方式代码也可以。谢谢!

--  作者:有点蓝
--  发布时间:2023/9/19 11:19:00
--  
http://www.foxtable.com/webhelp/topics/2890.htm

dim r as row = tables("表控件绑定的表").current
if r isnot nothing then
Dim tm As String  = ProjectPath & "Attachments\\" & r("模板") & ".doc" \'指定模板文件
Dim 
fl As String = ProjectPath & "Reports\\" & r("模板") & ".doc" \'指定目标文件
Dim 
wrt As New WordReport(Tables("出库"),tm,fl\'定义一个WordReport
wrt.Build()
 \'逐行生成报表
wrt.Show() 
\'显示报表
end if

--  作者:mscf
--  发布时间:2023/9/19 11:56:00
--  
谢谢蓝大图片点击可在新窗口打开查看
--  作者:mscf
--  发布时间:2023/9/19 15:00:00
--  
我加了个预览按钮,通过网页浏览器控件实现(代码如下)。但是有的模板6-8秒后就可以预览,有的需要10多秒,有的甚至需要数分钟(文档都不大),有的点击多次后才出现。导出文件夹下每次均生产了.mhtml文件,在浏览器中可见。如何解决网页浏览器控件响应时间问题?
Dim r As Row = Tables("文书名称").current
If r IsNot Nothing Then
Dim tmp As String = ProjectPath & "Attachments\\" & r("文书名称") & ".docx" \'指定模板文件
Dim rep As String = ProjectPath & "Attachments\\" & r("模板") & ".doc" \'指定模板文件
Dim mht As String = ProjectPath & "Reports\\" & r("模板") & ".mhtml"
Dim wrt As New WordReport(Tables("表A"), tmp, rep) \'定义一个WordReport
wrt.Build() 
wrt.SaveToMHT(mht)
wrt.Quit
e.Form.Controls("WebBrowser1").Address = mht
End If
[此贴子已经被作者于2023/9/19 15:01:03编辑过]

--  作者:有点蓝
--  发布时间:2023/9/19 15:02:00
--  
这个没有办法解决。都是组件内部控制的,外力无法干涉。
--  作者:mscf
--  发布时间:2023/9/19 15:04:00
--  
以前生成单个模板,再预览,6-8秒就OK,现在使用表格后,控件少了,但是预览速度和成功率不行了。是不是网页浏览器需要强制刷新?
[此贴子已经被作者于2023/9/19 15:04:26编辑过]