通常使うプリントが変更されてしまう


めちゃうす  2007-02-15 22:34:11  No: 135291

コモンダイアログを使用して「通常使うプリントが変更されてしまう」件に
ついて、あるサイトから、以下のようなプログラムを見つけました。

    Private Sub Command1_Click()
        Me.CommonDialog1.CancelError = True
        Me.CommonDialog1.PrinterDefault = False
        Me.CommonDialog1.Flags = PrinterConstants.cdlPDReturnDC

        On Error Resume Next
        Call CommonDialog1.ShowPrinter
        On Error GoTo 0

        If Err.Number <> 0& Then
            Exit Sub
        End If

        Dim hDeviceContext As Long
        hDeviceContext = Me.CommonDialog1.hDC

        If hDeviceContext > 0& Then
            Exit Sub
        End If

        Me.RichTextBox1.Text = "千葉! 滋賀! 佐賀!"
        Me.RichTextBox1.SelStart = 0
        Me.RichTextBox1.SelLength = Len(Me.RichTextBox1.Text) - 1

        Call Me.RichTextBox1.SelPrint(hDeviceContext)
    End Sub

ここで、If hDeviceContext > 0& Then を入れると、印刷されたり
されなかったりと言う現象が発生します。確かに印刷のたびに
hDeviceContext の値は0以上、0以下を行き来していたりもします。
この文の意味も理解していませんので、教えていただきたいのと、
確実に印刷できるように指導ください。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加