Excel.Application 和 打印机 :)

博主日前编写了一段VB操作Excel的代码,其功能为向Excel文件中填充数据,之后进行预览,代码转载自https://www.cnblogs.com/LiuShui/archive/2004/12/22/80517.html 。

      日前写了一段vb操作excel的代码,功能是向excel文件中填充数据,然后预览。
      代码如下:    

None.gifPublic Enum enmPrintTag
None.gif    csLintUnPrint 
= 0     'Not PrintPreview
None.gif
    csLintPrint = 1         'PrintPreview
None.gif
End Enum
None.gif
None.gif
Public Sub FSubMakeReport01(ByVal pvstrFileName As String,
None.gif                                               Optional ByVal pvenmPreview 
As enmPrintTag = csLintUnPrint)
None.gif    
Dim objExlApp            As Object
None.gif    
Dim objExlBook          As Object
None.gif    
Dim objExlSheet         As Object
None.gif    
const csPstrExcelApp As String = "Excel.Application"
None.gif
    
None.gif    
On Error GoTo SKipErrPos
None.gif    Open the excel file
None.gif    
Set objExlApp = CreateObject(csPstrExcelApp)
None.gif    
Set objExlBook = objExlApp.Workbooks.Open(pvstrFileName)
None.gif    objExlBook.Application.Visible 
= False
None.gif    
Set objExlSheet = objExlBook.Worksheets(1)
None.gif    dot.gif
None.gif    
'Fill Data to Excel
None.gif
    dot.gif
None.gif
None.gif    
If pvenmPreview = csLintPrint Then        
None.gif        objExlBook.Application.Visible 
= True
None.gif        objExlBook.Save     
'Save File
None.gif
        objExlBook.PrintPreview
None.gif    
Else
None.gif        objExlBook.Save     
'Save File
None.gif
    End If
None.gif    objExlBook.PrintPreview
None.gifSkipEndPos:
None.gif    
On Error Resume Next
None.gif    
If Not objExlSheet Is Nothing Then
None.gif        
Set objExlSheet = Nothing
None.gif    
End If
None.gif    
If Not objExlBook Is Nothing Then
None.gif        objExlBook.Saved 
= True
None.gif        objExlBook.Close
None.gif        
Set objExlBook = Nothing
None.gif    
End If
None.gif    
If Not objExlApp Is Nothing Then
None.gif        objExlApp.Quit
None.gif        
Set objExlApp = Nothing
None.gif    
End If
None.gif    
Exit Function 
None.gifSKipErrPos:
       ......
None.gifEnd Sub

       上述代码在域内其他机器上都能够正常预览,当关闭预览的时候程序结束,但是在某台机器上偏偏预览窗口瞬间显示即消失。
       我以为是程序bug,开始以为是因为objExlBook是一个局部变量,对象预览的时候马上执行后面的代码,这样对象马上消亡,当然就看到瞬间显示即消失的现象。但是预览的时候即程序中断执行,所以应该不是这个原因。
      后来发现原来是那台机器没有装打印机,程序一点问题都没有。我绝倒!
      艾,看来以后解决问题要从头分析起,不能动不动就主观臆断,导致时间的耗费。:-)

转载于:https://www.cnblogs.com/LiuShui/archive/2004/12/22/80517.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值