Here is a sample that I have pulled directly from a program that I wrote a while back. I have not altered the sub in any way. It should give you an idea on how to print.
Note: cdOne is the common dialog control...
Private Sub cmdPrint_Click()
Dim i As Integer
Dim count As Integer
Dim searchedFrom As String
Dim searchedTo As String
Dim defaultPrinter As String
'diable the print button
cmdPrint.Enabled = False
searchedFrom = CStr(dtpFrom.Month) + "/" + CStr(dtpFrom.Day) + "/" + CStr(dtpFrom.Year)
searchedTo = CStr(dtpTo.Month) + "/" + CStr(dtpTo.Day) + "/" + CStr(dtpTo.Year)
count = lsvResults.ListItems.count
'have the printer dialog come up and allow the user to pick a default printer
Const ErrCancel = 32755
cdOne.CancelError = True
On Error GoTo errorPrinter
cdOne.Flags = 64
'see the Help on Flags Properties (Print
' Dialog)
cdOne.PrinterDefault = True
cdOne.ShowPrinter
MsgBox "Printing....", vbInformation, "Print"
mouseWait 'show the hourglass to indicate that it may take a while
Printer.FontName = "Arial"
Printer.FontBold = True
Printer.FontSize = 7
'================================
Printer.Print "Printed on: " + Format$(Now, "dddd, mmm dd, yyyy hh:mm AM/PM"

Printer.Print "Search String: " + cmbSearch.Text
If chkDate.Value = vbChecked Then 'then print the date range, otherwise do not
Printer.Print "Date Range: " + searchedFrom + " To " + searchedTo
Else
Printer.Print "Date Range: All Available Alarm Files "
End If
'================================
Printer.FontBold = False
Printer.FontSize = 7.5
'================================
Printer.Print " "
Printer.Print "MM DD YY"
Printer.FontSize = 10
For i = 1 To count
Printer.Print lsvResults.ListItems(i).Text 'this may start at zero and may need to be changed
If i Mod 60 = 0 Then 'start a new page
Printer.Print " "
Printer.Print " "
Printer.Print " Page " + Format(Printer.Page, "#,###"

Printer.NewPage
Printer.FontSize = 7
'================================
Printer.Print "Printed on: " + Format$(Now, "dddd, mmm dd, yyyy hh:mm AM/PM"

'+ " Page " + Format(Printer.Page, "#,###"

Printer.Print "Search String: " + cmbSearch.Text
If chkDate.Value = vbChecked Then 'then print the date range, otherwise do not
Printer.Print "Date Range: " + searchedFrom + " To " + searchedTo
Else
Printer.Print "Date Range: All Available Alarm Files "
End If
'================================
Printer.FontBold = False
Printer.FontSize = 7.5
Printer.Print " "
Printer.Print "MM DD YY"
Printer.FontSize = 10
End If
Next i
'================================
Dim numLinesDown As Integer 'the number of lines to drop the page number down
Dim numLinesToAdd As Integer 'number of lines to add to the last page to get the page number in the right spot
numLinesDown = count - (60 * (Printer.Page - 1))
numLinesToAdd = 63 - numLinesDown
For i = 1 To numLinesToAdd - 1
Printer.Print " "
Next i
Printer.Print " Page " + Format(Printer.Page, "#,###"

Printer.EndDoc
mouseUnWait
cmdPrint.Enabled = True
'================================
Exit Sub 'exit to avoid error handler......
errorPrinter:
If Err.Number = ErrCancel Then
Exit Sub
End If
Resume
End Sub
Troy Williams
fenris@hotmail.com
I am a recent Mining Engineering Graduate with an interest in Genetic Algorithms, Engineering and Computers and Programming. I also have an interest in mineral economics