Vb.net 从特定托盘打印Word文档

Vb.net 从特定托盘打印Word文档,vb.net,Vb.net,我需要将word活动文档打印到特定的托盘中。 例如,如果用户单击按钮字母,文档应从纸盘2打印。 目前我正在使用这段基本代码 Dim word As Word.Application = Globals.ThisAddIn.Application Dim pd As New PrintDialog() pd.PrinterSettings = New PrinterSettings() If pd.ShowDialog() = DialogR

我需要将word活动文档打印到特定的托盘中。 例如,如果用户单击按钮字母,文档应从纸盘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(),我已经设法做了一些与此相关的工作。糟糕的

将pkSource设置为Printing.PaperSource 将printDoc调整为新的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

但是我不想使用print document,因为我需要打印activate word文档。

我很确定您不能向PrintDocument对象添加内容,但它确实会暴露您可以在页面级别操作的事件


话虽如此,您似乎在Word中工作。为什么不使用word对象的ActiveDocument在那里设置纸盘(firstPageTray和OtherPageTray?

Thansk以获取回复。对不起,我不擅长,如果你能给我任何例子,这将是非常有帮助的,与工作(firstPageTray和其他PageTray)。。。感谢将wd作为Word.Application=Globals.ThisAddIn.Application Dim doc作为Word.Document=wd.ActiveDocument doc.PageSetup.FirstPageTray=262 doc.PageSetup.OtherPageTray=262'doc.PrintOut(),应该可以使用。指针值是长的。有多种方法可以获取托盘ID(长整数)以及托盘名称的列表。