以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]EXCEL 模板打印问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83647)

--  作者:husl
--  发布时间:2016/4/13 21:49:00
--  [求助]EXCEL 模板打印问题

 

 

 

 

 

 

 

 

 

 

<End>

<出库明细表,1>

 

 

 

 

 

 

 

 

[日期]

<是否打印=true>

 

 

 

 

 

 

 

 

 

[库位]

 

 

 

[日期]

 

 

[入库车号]

 

 

 

 

[收货单位]

[联系人]

 

 

 

 

[收货地址]

 

 

 

 

 

 

 

 

 

 

 

 

[品名]

    [批号]

[出库重量]

[件数]

[发货单号]

[发货备注]

 

 

 

 

 

 

 

 

 

 

 

 

 

    尊敬的客户:如有外包装破损或件数
    不符等情况,请拒收或在本回执单上注明,如未注
    明则视同签收时货物完好,件数无异议。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<出库明细表>

 

 

 

<End>

 

 

 

老师好:
请教老师关于 模板打印 的问题:

 在窗口的  副本表   AfterCheckRow设置了 
If  e.Row.Checked=True Then
    e.Row("是否打印")=True
Else
    e.Row("是否打印")=False
    
End If
模板一共有3个,3个格式都一样。但是大小不一样。模板的设置全部如上面表格
打印按钮设置:
For  Each R2 As Row In Tables("出库录入窗口_出库明细表").GetCheckedRows
    Dim s As String ="上海分公司"
    Dim s1 As String ="南京分公司"
    Dim s2 As String ="广东分公司"
    If r2("库位")<>Nothing And R2("产品ID")<>Nothing And R2.Checked =True  Then
        
        If   R2("发货货权")=s1  Then
            
            Dim Book As New XLS.Book(ProjectPath & "Attachments\\南京开单.xls")
            Dim fl As String = ProjectPath & "Reports\\出库单.xls"
            Book.Build() \'生成细节区
            Book.Save(fl) \'保存工作簿
            Dim Proc As New Process \'打开工作簿
            Proc.File = fl
            Proc.Verb= "Print"
            Proc.Start()
            
            R2("已打印")=True
            
        Else
            If   R2("发货货权")=s  Then
                
                Dim Book1 As New XLS.Book(ProjectPath & "Attachments\\上海开单.xls")
                Dim f2 As String = ProjectPath & "Reports\\出库单.xls"
                Book1.Build() \'生成细节区
                Book1.Save(f2) \'保存工作簿
                Dim Proc1 As New Process \'打开工作簿
                Proc1.File = f2
                
                Proc1.Verb= "Print"
                Proc1.Start()
                R2("已打印")=True
                
            Else
                If   R2("发货货权")=s2  Then
                    
                    Dim Book2 As New XLS.Book(ProjectPath & "Attachments\\广州开单.xls")
                    Dim f3 As String = ProjectPath & "Reports\\出库单.xls"
                    Book2.Build() \'生成细节区
                    Book2.Save(f3) \'保存工作簿
                    Dim Proc2 As New Process \'打开工作簿
                    Proc2.File = f3
                    
                    Proc2.Verb= "Print"
                    Proc2.Start()
                    R2("已打印")=True
                    
                    
                End If
            End If
        End If
        
        
    Else
        MessageBox.Show("请选择库位后再打印!","提示:")
        
        
    End If
    R2.Checked =False
    
Next



按照面的执行结果每次都是打印出来很多没有勾选复选框的内容。。请教老师 问题出在哪里了,谢谢!!

--  作者:大红袍
--  发布时间:2016/4/13 21:59:00
--  

1、模板有问题,这个要去掉 <是否打印=true>

 

2、代码改一下

 

Dim s As String ="上海分公司"
Dim s1 As String ="南京分公司"
Dim s2 As String ="广东分公司"
For  Each R2 As Row In Tables("出库录入窗口_出库明细表").GetCheckedRows
   
    If r2("库位")<>Nothing AndAlso R2("产品ID")<>Nothing Then
        Dim Book As XLS.Book
        If   R2("发货货权")=s1  Then
            book = New XLS.Book(ProjectPath & "Attachments\\南京开单.xls")
           
        ElseIf   R2("发货货权")=s  Then
            book = New XLS.Book(ProjectPath & "Attachments\\上海开单.xls")
           
        ElseIf   R2("发货货权")=s2  Then
           
            book = New XLS.Book(ProjectPath & "Attachments\\广州开单.xls")

        End If
        Dim fl As String = ProjectPath & "Reports\\出库单.xls"
        Book.Build() \'生成细节区
        Book.Save(fl) \'保存工作簿
        Dim Proc As New Process \'打开工作簿
        Proc.File = fl
        Proc.Verb= "Print"
        Proc.Start()
       
        R2("已打印")=True
    Else
        MessageBox.Show("请选择库位后再打印!","提示:")
    End If
    R2.Checked =False 
Next


--  作者:husl
--  发布时间:2016/4/13 22:15:00
--  
谢谢老师。这么晚了还回复,辛苦了!!!