0

アクティブなドキュメントという単語を特定のトレイに印刷する必要があります。たとえば、ユーザーがボタン文字をクリックすると、ドキュメントはトレイ 2 から印刷されます。現時点では、この基本的なコードを使用しています。

Dim word As Word.Application = Globals.ThisAddIn.Application
        Dim pd As New PrintDialog()
        pd.PrinterSettings = New PrinterSettings()
            If pd.ShowDialog() = DialogResult.OK Then
            word.PrintOut()
        End If

プロパティprindocument()を使用すると、これに関連するいくつかの作業を行うことができました。みたいな

Dim pkSource As Printing.PaperSource Dim printDoc As New PrintDocument ' AddHandler printDoc.PrintPage

        printDoc.PrinterSettings.PrinterName = strPrinter
        For Each pkSource In printDoc.PrinterSettings.PaperSources
            If pkSource.RawKind = "261" Then


                printDoc.PrinterSettings.DefaultPageSettings.PaperSource.RawKind = pkSource.RawKind
                Dim psize As Printing.PaperSize = printDoc.PrinterSettings.PaperSizes.Item(5)
                printDoc.DefaultPageSettings.PaperSize = psize
                printDoc.PrinterSettings.PrintRange = PrintRange.AllPages
                'AddHandler printDoc.PrintPage, AddressOf Me.PrintDoc_PrintPage
                printDoc.PrinterSettings.Copies = num_copies
                printDoc.PrinterSettings.Duplex = Duplex.Default
                AddHandler printDoc.PrintPage, AddressOf Me.PrintPageHandler
                'PrintDocument1 = oWord.ActiveDocument
                Try
                    'PrintDocument1.Print()
                    printDoc = app
                Catch ex As System.Exception
                    MsgBox(ex.Message)
                End Try

                'printDoc.Print()
                ' MsgBox("printed")
                RemoveHandler printDoc.PrintPage, AddressOf Me.PrintPageHandler
            End If
        Next

しかし、アクティブなワード文書を印刷する必要があるため、印刷文書を使用したくありません。

4

1 に答える 1

0

PrintDocument オブジェクトにコンテンツを追加できないことは確かですが、ページ レベルで操作できるイベントが公開されます。

そうは言っても、ここでは Word 内で作業しているようです。word オブジェクトの ActiveDocument を使用してトレイ (firstPageTray と otherPagesTray) を設定しないのはなぜですか?

于 2013-01-07T16:15:23.010 に答える