Ciao.
E' possibile anche utilizzare un oggetto Wscript per ottenere l'elenco delle stampanti
Function GetPrinters() As String()
Dim i
Dim wshNetwork As Object, oPrinters As Object, temp As String
ReDim result(100) As String
' Get the network object
Set wshNetwork = CreateObject("WScript.Network")
Set oPrinters = wshNetwork.EnumPrinterConnections
' Printers collection has two elements for each printer.
For i = 0 To oPrinters.Count - 1 Step 2
' Get what Excel sees.
result(i \ 2) = oPrinters.Item(i + 1) & " su " & oPrinters.Item(i)
Next
ReDim Preserve result((i \ 2))
GetPrinters = result
End Function
Sub test()
Dim Printers() As String
Dim R As Long
Printers = GetPrinters
With Foglio3
For R = LBound(Printers) To UBound(Printers)
.Cells(R + 1, 1) = Printers(R)
Next R
End With
End Sub
Si tratta di un codice trovato in rete tempo fa. Funziona sulla versione Italiana; nella versione inglese l'istruzione
result(i \ 2) = oPrinters.Item(i + 1) & " su " & oPrinters.Item(i)
va modificata in
result(i \ 2) = oPrinters.Item(i + 1) & " on " & oPrinters.Item(i)