注意 CommonDialog.Flags 属性应不是 cdlPDPrintSetup

解决方案 »

  1.   

    只是CommonDialog.ShowPrinter,没有后续步骤当然不行
      

  2.   

    'Public Sub PinterInit(ByRef dlgCommonDialog As CommonDialog)    'With dlgCommonDialog
        '    .DialogTitle = "Print"
        '    .CancelError = True
        '    .Flags = cdlPDReturnDC + cdlPDNoPageNums
        '    If ActiveForm.rtfText.SelLength = 0 Then
        '        .Flags = .Flags + cdlPDAllPages
        '    Else
        '        .Flags = .Flags + cdlPDSelection
        '    End If
        '    .ShowPrinter
        '    If Err <> MSComDlg.cdlCancel Then
        '        ActiveForm.rtfText.SelPrint .hDC
        '    End If
        'End With
        
    'End Sub