1

vb.net から word.activedocument を印刷する必要があります。私はdocument.printout() でそれを行うことができます。しかし、そのドキュメントをプリンターの特定のトレイに印刷する必要があります。だから今、私はprintdocument.print()を使用しています。これは、このコマンド行を使用して、印刷する特定のページソースを定義できるためですが、Word ドキュメントをこの printdocument.print にキャストまたは割り当てる方法がわかりません。私の質問が紛らわしい場合は、ここに私のコードがあります

Dim oWord As Word.Application = Globals.ThisAddIn.Application Dim app As Word.Document = oWord.ActiveDocument Dim objDataTypeMetafile As New Object objDataTypeMetafile = Word.WdPasteDataType.wdPasteMetafilePicture ' oWord.Visible = True Dim num_copies As String = tb_num_copies.Text 'oWord .PrintOut(Copies:=num_copies, PrintToFile:=False)

    Dim prtdoc As New PrintDocument
    Dim strDefaultPrinter As String = prtdoc.PrinterSettings.PrinterName
    Dim strPrinter As String
    For Each strPrinter In PrinterSettings.InstalledPrinters
        com_printer.Items.Add(strPrinter)

        If strPrinter = strDefaultPrinter Then
            com_printer.SelectedIndex = com_printer.Items.IndexOf(strPrinter)
        End If

        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

                printDoc.Print()

                RemoveHandler printDoc.PrintPage, AddressOf Me.PrintPageHandler

            End If

        Next

    Next strPrinter
    oWord = Nothing

End Sub

Private Sub PrintPageHandler (オブジェクトとしての ByVal 送信者、Printing.PrintPageEventArgs としての ByVal args) ?????????????????? サブ終了

4

0 に答える 0