EXCEL宏设置指定打印机打印?

EXCEL做了一个小票模板,需要楼上楼下打印。但是打印 的时候经常选择打印机,很麻烦。于是自己就录制一个宏。但是还是不行。只能在现在表格默认的打印机打印。我想要的功能就是点击办公室打印办公室打印机打印,另一个按钮就楼下打印。通过按钮自动控制哪个打印机打印。需要函数的话,各位老师最好写一个例子,让我这种小白直接改打印机名称就行的那种。万分感谢。

选第一个打印机用下面代码获取到打印机名称然后再选第二个打印机获取名称
MsgBox Application.ActivePrinter
然后第一个按钮下复制下面代码打印机名称用上面弹窗获得到的打印机名称

Application.ActivePrinter = "第一个打印机名称" '设置打印机
Selection.PrintOut Copies:=1, Collate:=True '打印
第二个同上
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-07-18
每一台电脑的打印机都不一样的
先用以下代码获得系统所有打印机名称
Sub allprinter()
Dim i&, ws As Object, st$, ptn$, arr() As String, n&
Set ws = CreateObject("wscript.network")
st = Application.ActivePrinter '保存系统默认打印机
n = ws.EnumPrinterConnections.Count
ReDim arr(1 To n / 2)
For i = 1 To n - 1 Step 2
ptn = ws.EnumPrinterConnections.Item(i) '打印机名称
ws.SetDefaultPrinter ptn
If InStr(st, ptn) Then st = ptn
arr((i - 1) / 2 + 1) = Application.ActivePrinter
Next
ws.SetDefaultPrinter st '恢复系统默认打印机
Sheet1.UsedRange.ClearContents
Sheet1.[a1] = "系统所有打印机"
Sheet1.Range("a2").Resize(UBound(arr)) = Application.Transpose(arr)
End Sub
再看你想调用哪个打印机