2016-11-28 264 views
0

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

我遵循上面提供的链接中的代码。

任何人都有一个想法吗?任何建议都很有帮助,很好的被接受。谢谢..干杯..我两天后就得到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

+1

VB.NET是不是VBA - 请阅读标签的文本和删除,这并不适用于它 – Plutonix

+0

@Plutonix遗憾之一。 – KiRa

+0

[如何通过自动化API设置MS Word页面大小?](http://stackoverflow.com/questions/12620003/how-to-set-ms-word-page-size-via-the-automation -api) –

回答

1

检查库毕竟你是使用SetActivePrinter方法更改类似下面的默认打印机做的:

AxEDOffice1.SetActivePrinter("Adobe PDF") 

而要改变纸张大小,你必须使用以下

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) 
+0

我得到了一个错误..类型布尔值的值不能转换为System.Windows.Form。PrintDialog – KiRa

+0

我得到这个错误“对象变量或块变量未设置。”在纸张大小 – KiRa

+0

你还在那里?你是那个几乎弄到我的问题:( – KiRa