以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]合并代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118841)

--  作者:天一生水
--  发布时间:2018/5/11 22:40:00
--  [求助]合并代码
有两个word报表模板:一审延长审理期限报告.doc;二审延长审理期限报告.doc
当[审判程序] = "一审"时,用一审延长审理期限报告.doc模板;
当[审判程序] = "二审"时,用二审延长审理期限报告.doc模板;
下面的第二、第三段代码其实就第一句的模板不同。
希望合并为一个按钮代码,尝试很长时间也没能合并成功,请老师指教,谢谢!

--------------------------------------
代码如下:
1、第一段代码;
For Each r As Row In Tables("应诉通知书_table1")
    If r"审判程序")= "一审" Then
        ......
    ElseIf If r"审判程序")= "二审" Then
        ......
    End If
Next

2、第二段代码:
Dim tm As String  = ProjectPath & "Attachments\\一审延长审理期限报告.doc"   \'指定模板文件
With Tables("应诉通知书_table1")
    If .TopPosition > -1 Then \'如果选定区域包括数据行
        Dim fileName As String = ProjectPath & "Reports\\延长审理期限报告\\预览.doc" \'指定目标文件
        Dim wrt As New WordReport(Tables("应诉通知书_table1"),tm,fileName) \'定义一个WordReport
        For Each r As Row In .GetCheckedRows    \'复选框选中
            wrt.BuildOne(r)
            wrt.RecordsOnEachPage  =1
        Next
        wrt.Show() \'显示报表
    End If
End With

3、第三段代码:
Dim tm As String  = ProjectPath & "Attachments\\二审延长审理期限报告.doc"   \'指定模板文件
With Tables("应诉通知书_table1")
    If .TopPosition > -1 Then \'如果选定区域包括数据行
        Dim fileName As String = ProjectPath & "Reports\\延长审理期限报告\\预览.doc" \'指定目标文件
        Dim wrt As New WordReport(Tables("应诉通知书_table1"),tm,fileName) \'定义一个WordReport
        For Each r As Row In .GetCheckedRows    \'复选框选中
            wrt.BuildOne(r)
            wrt.RecordsOnEachPage  =1
        Next
        wrt.Show() \'显示报表
    End If
End With


--  作者:有点蓝
--  发布时间:2018/5/11 23:03:00
--  
比如1、3、5行是一审,然后这几行就输出到一审报告,2、4、6行是二审,然后这几行就输出到二审报告?
--  作者:天一生水
--  发布时间:2018/5/12 7:06:00
--  
但是要在同一个文件中预览。
[此贴子已经被作者于2018/5/12 7:07:20编辑过]

--  作者:有点蓝
--  发布时间:2018/5/12 8:40:00
--  
Dim tm As String  = ProjectPath & "Attachments\\一审延长审理期限报告.doc"   \'指定模板文件
Dim tm2 As String  = ProjectPath & "Attachments\\二审延长审理期限报告.doc"   \'指定模板文件
Dim fileName As String = ProjectPath & "Reports\\延长审理期限报告\\预览.doc" \'指定目标文件
Dim fileName2 As String = ProjectPath & "Reports\\延长审理期限报告\\预览2.doc" \'指定目标文件

Dim wrt As New WordReport(Tables("应诉通知书_table1"),tm,fileName) \'定义一个WordReport
Dim wrt2 As New WordReport(Tables("应诉通知书_table1"),tm2,fileName2) \'定义一个WordReport
wrt.RecordsOnEachPage  =1
wrt2.RecordsOnEachPage  =1

With Tables("应诉通知书_table1")
With Tables("应诉通知书_table1")
    For Each r As Row In Tables("应诉通知书_table1")
        If r"审判程序")= "一审" Then
            wrt.BuildOne(r)
        ElseIf If r"审判程序")= "二审" Then
            wrt2.BuildOne(r)
        End If
    Next
End With
End With

wrt.Show()
wrt2.Show()
[此贴子已经被作者于2018/5/12 8:41:16编辑过]

--  作者:天一生水
--  发布时间:2018/5/12 9:54:00
--  
老师,提示出错。
我做了个实例,请老师指教,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:预览测试.rar



图片点击可在新窗口打开查看此主题相关图片如下:image 2.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2018/5/12 10:08:00
--  
不能合并:

Dim tm As String  = ProjectPath & "Attachments\\一审延长审理期限报告.doc"   \'指定模板文件
With Tables("应诉通知书_table1")
    Dim fileName As String = ProjectPath & "Reports\\延长审理期限报告\\预览.doc" \'指定目标文件
    Dim wrt As New WordReport(Tables("应诉通知书_table1"),tm,fileName) \'定义一个WordReport
    wrt.RecordsOnEachPage  =1
    For Each r As Row In .GetCheckedRows    \'复选框选中
        If r("审判程序")= "一审"
            wrt.BuildOne(r)
        End If
    Next
    wrt.Quit() \'显示报表
End With

tm  = ProjectPath & "Attachments\\二审延长审理期限报告.doc"   \'指定模板文件
With Tables("应诉通知书_table1")
    Dim fileName As String = ProjectPath & "Reports\\延长审理期限报告\\预览2.doc" \'指定目标文件
    Dim wrt As New WordReport(Tables("应诉通知书_table1"),tm,fileName) \'定义一个WordReport
    wrt.RecordsOnEachPage  =1
    For Each r As Row In .GetCheckedRows    \'复选框选中
        If r("审判程序")= "二审"
            wrt.BuildOne(r)
        End If
    Next
    wrt.Show() \'显示报表
End With