第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
再看你想调用哪个打印机