• Excel.Application 和 打印机 :)


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

    Public Enum enmPrintTag
        csLintUnPrint 
    = 0     'Not PrintPreview
        csLintPrint = 1         'PrintPreview
    End Enum

    Public Sub FSubMakeReport01(ByVal pvstrFileName As String,
                                                   Optional ByVal pvenmPreview 
    As enmPrintTag = csLintUnPrint)
        
    Dim objExlApp            As Object
        
    Dim objExlBook          As Object
        
    Dim objExlSheet         As Object
        
    const csPstrExcelApp As String = "Excel.Application"
        
        
    On Error GoTo SKipErrPos
        Open the excel file
        
    Set objExlApp = CreateObject(csPstrExcelApp)
        
    Set objExlBook = objExlApp.Workbooks.Open(pvstrFileName)
        objExlBook.Application.Visible 
    = False
        
    Set objExlSheet = objExlBook.Worksheets(1)
        
        
    'Fill Data to Excel
        

        
    If pvenmPreview = csLintPrint Then        
            objExlBook.Application.Visible 
    = True
            objExlBook.Save     
    'Save File
            objExlBook.PrintPreview
        
    Else
            objExlBook.Save     
    'Save File
        End If
        objExlBook.PrintPreview
    SkipEndPos:
        
    On Error Resume Next
        
    If Not objExlSheet Is Nothing Then
            
    Set objExlSheet = Nothing
        
    End If
        
    If Not objExlBook Is Nothing Then
            objExlBook.Saved 
    = True
            objExlBook.Close
            
    Set objExlBook = Nothing
        
    End If
        
    If Not objExlApp Is Nothing Then
            objExlApp.Quit
            
    Set objExlApp = Nothing
        
    End If
        
    Exit Function 
    SKipErrPos:
           ......
    End Sub

           上述代码在域内其他机器上都能够正常预览,当关闭预览的时候程序结束,但是在某台机器上偏偏预览窗口瞬间显示即消失。
           我以为是程序bug,开始以为是因为objExlBook是一个局部变量,对象预览的时候马上执行后面的代码,这样对象马上消亡,当然就看到瞬间显示即消失的现象。但是预览的时候即程序中断执行,所以应该不是这个原因。
          后来发现原来是那台机器没有装打印机,程序一点问题都没有。我绝倒!
          艾,看来以后解决问题要从头分析起,不能动不动就主观臆断,导致时间的耗费。:-)
  • 相关阅读:
    css3
    jquery常用的几种配置
    1808第一周笔记
    webpack打包的用法
    模块的使用及几类方式
    node的规范(common.js)
    模块化开发
    传统开发模式的缺点
    创建百度地图
    离线缓存总结
  • 原文地址:https://www.cnblogs.com/LiuShui/p/80517.html
Copyright © 2020-2023  润新知