是否有任何可能將Windows默認打印機僅更改爲一個「作業」?沒有Windows XP/Vista/7下的管理權限,它工作嗎?VBA:暫時更改Windows 7默認打印機
什麼我想要做的:
- 默認打印機是佳能ABC
- 想通過愛普生XYZ打印
- 打印後要再次有回我的默認打印機佳能ABC。
如果沒有管理權限,沒有「messageboxes」或UI對話框,它將會是最好的。
應該VBA或(勉強)下在C#中使用/ .NET
是否有任何可能將Windows默認打印機僅更改爲一個「作業」?沒有Windows XP/Vista/7下的管理權限,它工作嗎?VBA:暫時更改Windows 7默認打印機
什麼我想要做的:
如果沒有管理權限,沒有「messageboxes」或UI對話框,它將會是最好的。
應該VBA或(勉強)下在C#中使用/ .NET
在C#中,你可以打印到安裝在計算機上的任何打印機。您不需要更改默認打印機。我不知道它在VBA中是否一樣,但它在C#中有效。
編輯:
由於您的評論我加了一點樣品,希望能帶領你的方式:
public void DoPrint()
{
var printDialog = new PrintDialog();
if (printDialog.ShowDialog() == DialogResult.OK)
{
var printDocument = new PrintDocument
{
DefaultPageSettings = { PrinterSettings = printDialog.PrinterSettings }
};
printDocument.PrintPage += OnPrintPage;
}
}
private void OnPrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawString("Hello");
}
這將打印「你好」到打印機您選擇在對話框中。
您是否有一些關於使用不同打印機打印作業的片段或有用的頁面?我使用哪些參數以及我需要什麼名稱空間? (如果可能的話,它應該只使用.NET 2.0與Win2000兼容的原因,WinXP沒有SP) – 2011-12-19 16:03:29
@DanielAlexanderWeigl:我在回答中添加了一些示例。 – Fischermaen 2011-12-19 16:22:52
感謝您的示例。這幫助了我很多。 – 2012-08-15 11:06:59
From訪問幫助:
以下示例使Printers集合中的第一臺打印機成爲系統的默認打印機,然後報告其名稱,驅動程序信息和端口信息。
Dim prtDefault As Printer
dim strOldDefault as string
strOldDefault = Application.printer
Set Application.Printer = Application.Printers(0)
Set prtDefault = Application.Printer
With prtDefault
MsgBox "Device name: " & .DeviceName & vbCr _
& "Driver name: " & .DriverName & vbCr _
& "Port: " & .Port
End With
編輯:您可以輕鬆地保存默認打印機更改它之前,並在打印之後再次設置。此外,由於更改默認打印機是一個緩慢的過程,因此我建議您在更改默認打印機前檢查默認打印機,以避免不必要的更改。
保存/恢復:
Dim strOldPrinter As String
'save old printer'
strOldPrinter = Application.Printer.DeviceName
'....do stuff'
'restore old Printer'
Set Application.Printer = Application.Printers(strOldPrinter)
你是對的,如果它會覆蓋默認的打印機,它會在地球上的地獄:o怎麼樣:「打印與愛普生ABC報告」mybusinessreport「」它會像Application.Printers(「Epson ABC」)? – 2011-12-19 16:24:31
@Daniel:查看編輯 – 2011-12-19 16:58:36
你嘗試過什麼來完成這個任務? VBA只允許打印到默認打印機嗎? – 2011-12-19 15:57:48
哪個VBA?版本和產品可能有所不同。 – Fionnuala 2011-12-19 15:58:00
..例如MS Access 2003 http://msdn.microsoft.com/en-us/library/aa223133(v=office.11).aspx – Fionnuala 2011-12-19 15:58:46