【问题标题】:How to set printer properties using vb.net如何使用 vb.net 设置打印机属性
【发布时间】:2016-11-28 01:13:07
【问题描述】:

我正在使用EDRAW 浏览Microsoft Word,可以是Print , Preview , ETC..。我计划为其添加一些功能。我为 Print Short (8.5 by 11 inches)Print Long (8.5 by 13 inches) 添加了 2 个按钮,并且我有 2 台长短打印机。如何在每个按钮中设置打印机的属性?如果我单击短按钮,它将使用与长按钮相同的打印机 1 打印短,但它在打印机 2 中。

我正在关注上面提供的链接中的代码。

有人知道吗?任何建议都会有所帮助并被接受。谢谢..干杯..两天后我会给它50赏金..

编码为@Hadi 请求

这是我的打印按钮代码。

Private Sub btnPrint_Click(sender As System.Object, e As System.EventArgs) Handles btnPrint.Click
    AxEDOffice1.SetActivePrinter("Printer Name")
    AxEDOffice1.ActiveDocument.PageSetup.PaperSize = Microsoft.Office.Interop.Word.WdPaperSize.wdPaperA4
    AxEDOffice1.PrintDialog()
End Sub

AxEDOffice1.ActiveDocument.PageSetup.PaperSize = Microsoft.Office.Interop.Word.WdPaperSize.wdPaperA4的行代码中得到一个错误Object variable or With block variable not set

【问题讨论】:

  • VB.NET 不是 vba - 请阅读标签文本并删除不适用的那个
  • @Plutonix 对此感到抱歉。
  • @Kira 您正在为您的问题提供用户答案。我认为人们可以阅读他的答案。顺便说一句,每次得到回答时都改变你的问题并不是一件好事。

标签: vb.net printing interop word-2007


【解决方案1】:

检查完库后,您只需使用SetActivePrinter 方法更改您的默认打印机,如下所示:

 AxEDOffice1.SetActivePrinter("Adobe PDF")

要更改 PaperSize,您必须使用以下内容

AxEDOffice1.ActiveDocument.PageSetup.PaperSize = Microsoft.Office.Interop.Word.WdPaperSize.wdPaperA4

AxEDOffice1.ActiveDocumentMicrosoft.Office.Interop.Word.WordDocumentClass 的一个实例

代码对其进行了测试,它工作正常。

编辑 1:

对象变量或未设置块变量

MSDN article 上阅读更多相关信息,有很多建议。

编辑 2:

要直接打印文档而不显示PrintDialog,您必须使用PrintOut 函数。

AxEDOffice1.PrintOut(EDOfficeLib.WdPrintOutRange.wdPrintAllDocument)

【讨论】:

  • 我得到一个错误.. Boolean 类型的值无法转换为 System.Windows.Form.PrintDialog
  • 我收到此错误“对象变量或未设置块变量。”在纸张大小
  • 你还在那里吗?.. 几乎是你遇到了我的问题 :(
  • @Kira 我测试了我的代码,它运行良好。你能把你写的代码提供给我们吗?
  • 哎呀 :D 我专注于打印按钮,我忘了先打开我要打印的文档。有直接打印的代码吗?不需要显示对话框打印?。
【解决方案2】:

看起来Change printername in PrintDialog through code 处理确保打印对话框根据 vb.net 中的打印机名称预先选择打印机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多