Con questa funzione si interroga il sistema operativo Windows e si ottiene di ritorno un array con i nomi delle stampanti installate.
Function nomiStampanti() As Variant
Dim strPC, strList
Dim StrSpace
Dim pNames() As String
Dim conto As Integer
strPC = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strPC & "\root\cimv2")
conto = 0
Set prnCol = objWMIService.ExecQuery(|Select * from Win32_Printer|)
Forall prnObj In prnCol
Redim Preserve pNames(conto)
Print prnObj.Name
pNames(conto) = prnObj.Name
conto = conto + 1
End Forall
nomiStampanti = pNames
End Function
ed ecco un esempio di come usarlo:
lista = nomiStampanti() scelta = Workspace.Prompt( PROMPT_OKCANCELLIST, "Scelta stampante", "Si prega di selezionare una stampante:", , lista )

0 commenti