Joacim, I figured out what's not working. I got the class to display a msgbox by modifying the ShowPrinter dialog like this:

Code:
Public Function ShowPrinter() As Boolean
    Dim pd As PrintDlgStruct
    Dim nRetVal As Long
    
    pd.lpSetupTemplateName = ""
    pd.lpPrintTemplateName = ""
    pd.hwndOwner = m_Owner.hwnd
    pd.nCopies = Me.PrintCopies
    pd.Flags = PD_HIDEPRINTTOFILE Or PD_NOPAGENUMS Or PD_NOSELECTION
    pd.lStructSize = Len(pd)
    nRetVal = PrintDlg(pd)
    MsgBox pd.nCopies
    Me.PrintCopies = pd.nCopies
    ShowPrinter = (nRetVal <> 0)
End Function
What I found was that everytime the msgbox appeared, no matter what the number of copies was set to, pd.nCopies was always 1 for some reason. Do you know why it would do that? Is there a way to fix it? Please respond A.S.A.P. Thanks for all your help.