Private m_oExcel As Excel.Application
Private m_oWorkbook As Excel.Workbook
Private m_oWorksheet As Excel.Worksheet
Private m_bReadyToPrint As Boolean
Private Sub Class_Initialize()
Set m_oExcel = New Excel.Application
m_strPath = App.Path & "\File1.xls"
Set m_oWorkbook = m_oExcel.Workbooks.Add(Template:=m_strPath)
Set m_oWorksheet = m_oWorkbook.Sheets(1)
m_bReadyToPrint = False
End Sub
Private Sub Class_Terminate()
m_oExcel.ActiveWorkbook.Close False
m_oExcel.Quit
Set m_oExcel = Nothing
Set m_oWorkbook = Nothing
Set m_oWorksheet = Nothing
End Sub
Public Sub CreateReport(mstrArg As String)
On Error GoTo Err
m_oExcel.Run m_oWorksheet.CodeName & ".DefineVars", mstrArg
m_oExcel.Run (m_oWorksheet.CodeName & "." & "runExcelReport")
m_bReadyToPrint = True
Exit Sub
Err:
m_bReadyToPrint = False
End Sub
Public Sub PrintReport(frm As Form, objCmmDgl As CommonDialog)
If m_bReadyToPrint Then
With objCmmDgl
.PrinterDefault = True
.ShowPrinter
End With
m_oWorksheet.PrintOut 1, 1, 1, False
Else
MessageBox frm.hWnd, "Report was not create correctly. Cannot print report!" & vbCrLf & Err.Description, "Report information", vbOKOnly
End If
End Sub