将"打印"对话框与 Excel 对象一起使用,无论选择对话框,也只会打印到默认打印机



我为工作部门的一个快速应用程序,它让用户输入文本字段并将其写入 excel 对象。该项目的挑战在于它需要创建工作表,写入它,打印它,清除某些机密信息,然后保存它,(必须在保存之前打印)。一切都很好,除了当我使用打印对话框选择要将其发送到的打印机时,它只会打印到用户的默认打印机或上次使用的打印机。我不想更改他们的默认打印机,因为这会让他们感到困惑,并导致我们拥有的其他一些软件的混乱,这些软件非常特定于它的打印位置。我在网上不知疲倦地搜索,只找到了打印word文档而不是工作表对象的解决方案。

我相信这是所有相关的代码:

Imports Excel = Microsoft.Office.Interop.Excel
Dim objExcel As New Excel.Application 
Dim objWorkbook As Excel.Workbook     
Dim objWorksheet As Excel.Worksheet   
Dim PrintDialog1 As New PrintDialog()
Dim result As DialogResult = PrintDialog1.ShowDialog()
If result = DialogResult.OK Then
PrintDialog1.PrinterSettings = PrintDocument1.PrinterSettings
objWorksheet.PrintOutEx()
MessageBox.Show(PrintDialog1.PrinterSettings.PrinterName)
MsgBox("Order Printing Completed")
ElseIf result = DialogResult.Cancel Then
objExcel.DisplayAlerts = False
objWorkbook.Saved = True
objWorkbook.Close(False)
objExcel.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(objWorksheet)
System.Runtime.InteropServices.Marshal.ReleaseComObject(objWorkbook)
System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcel)
ProgressBar1.Value = 200
ProgressBar1.Visible = False
Exit Sub
End If

也是关于 Exchange 的第一个问题,所以我没有很多特权,(也就是在允许之前无法立即回复评论),一般编码也很陌生,而且这个网站比 MLA 问答协议更严格,所以要友善。

在 Windows 中打开"打印机和扫描仪"设置。 在打印机和扫描仪列表的底部,确保选中/选中/勾选"允许Windows管理我的默认打印机"。

应该解决你的问题。

相关内容

  • 没有找到相关文章

最新更新