Dim lxzexcel As Excel.Application
        Set lxzexcel = New Excel.Application
        lxzexcel.Visible = True
        lxzexcel.SheetsInNewWorkbook = 1
        Set lxzworkbook = lxzexcel.Workbooks.Add '添加新工作簿
        ‘/////
          报表生成部分略去
        ‘ ////
          ' 打印
            lxzexcel.ActiveSheet.PageSetup.Orientation =xlLandscape     
            lxzexcel.ActiveSheet.PageSetup.PaperSize = xlPaperA4
            lxzexcel.ActiveSheet.PrintOut
            lxzexcel.DisplayAlerts = Tru
            lxzexcel.DisplayAlerts = False
            Set lxzexcel = Nothing
            ' lxzexcel.Quit
            Set lxzworkbook = Nothing
            Set Worksheet = Nothing
            Set lxzexcel = Nothing
在打印第一次的时候可以如果接着在打印就会出错
是什么原因啊?
报告错误是实事错误,是不是有什么
还没有释放呢

解决方案 »

  1.   

    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet1 As Excel.Worksheet
    Dim strSource, strDestination As String
    Dim MSHFlexGrid As MSHFlexGrid
    Set MSHFlexGrid = MSHGrid'test.xls就是一个模版文件
    strSource = App.Path & "\test.xls"strDestination = App.Path & "\Temp1.xls"
    '将模版文件拷贝到一个临时文件
    FileCopy strSource, strDestinationSet xlApp = CreateObject("EXCEL.APPLICATION")
    '隐藏EXCEL应用程序窗口隐藏EXCEL应用程序窗口
    xlApp.Visible = False'打开工作簿,strDestination为一个EXCEL报表文件
    Set xlBook = xlApp.Workbooks.Open(strDestination)
    '设定工作表
    Set xlSheet1 = xlBook.Worksheets(xlSheet)
         ‘/////
              报表生成部分略去
            ‘ ////If Mode Then
    'Mode =True 打印
        xlSheet1.PrintOut '执行打印
    Else
    'Mode =False 预览
    xlApp.Visible = True
    xlSheet1.Activate
    xlSheet1.PrintPreview
    xlApp.DisplayAlerts = FalseEnd IfxlApp.Quit
    Set xlApp = Nothing
    Set xlBook = Nothing
    Set xlSheet1 = Nothing