Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Drucker auslesen unter Office 2024

Forumthread: Drucker auslesen unter Office 2024

Drucker auslesen unter Office 2024
23.10.2025 13:26:24
Amaranth
Hallo zusammen,

ich weiß, ihr seid in Excel Forum, ich programmiere in Word, aber es ist eine grundlegende Sache, weshalb ich hoffe, ihr könnt mir trotzdem helfen. Ich habe in der Vergangenheit schon viele Codeschnipsel bei euch gefunden, die sehr hilfreich waren.

Wir haben seit kurzem Office 2024 im Einsatz (war leider nicht auszuwählen bei euch), und nun tritt ein Problem auf:

Dim objWMI As Object, colPrinters As Object, objPrinter As Object

Dim intPrinters
Set objWMI = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2")
Set colPrinters = objWMI.ExecQuery _
("Select * from Win32_PrinterConfiguration")
For Each objPrinter In colPrinters....


Er meckert das "colPrinters" an. Ich vermute, "Win32_PrinterConfiguration" funktioniert nicht mehr. Unter Office 21 hat es noch funktioniert und funktioniert dort auch noch.

Nutzt schon jemand Office 24 und kann das vielleicht bestätigen? Im Netz findet man sonst nichts dazu.

Ich brauche die Routine lediglich, um zu gucken, ob der User die Drucker, die ich später brauche, bereits installiert hat.
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drucker auslesen unter Office 2024
23.10.2025 13:51:19
schauan
Hallöchen,

das funktioniert immer noch. Kann aber sein, dass da auch am System geschraubt wurde.
Wenn das erst bei der Schleife angemeckert wird, dann wurde nix gefunden :-(
AW: Drucker auslesen unter Office 2024
23.10.2025 13:56:37
Amaranth
Das heißt? Wo könnte ich was ändern? Die Installation lief genauso wie bei 21, die GPOs wurden komplett übernommen.

Drucker sind beim User installiert, das habe ich überprüft.
Anzeige
AW: Drucker auslesen unter Office 2024
23.10.2025 14:48:17
JoWE
Hallo, ich habe MS Offfice 2024 und Deinen Code in der VBA-Umgebung von Word
(Microsoft® Word LTSC MSO (Version 2408 Build 16.0.17932.20574) 64 Bit) ausprobiert, s. Bild:
Userbild
Klappt problemlos!
Gruß
Jochen

Anzeige
AW: Drucker auslesen unter Office 2024
23.10.2025 15:54:15
schauan
... in welcher Zeile kommt denn der Fehler? Und, welcher Fehler?
AW: Drucker auslesen unter Office 2024
23.10.2025 16:01:19
Amaranth
Laufzeitfehler '-2147217402(80041006)'
Automatisierungsfehler

mehr steht da leider nicht und auch Google war nicht hilfreich.

Passiert in der Zeile
Set colPrinters = objWMI.ExecQuery _

("Select * from Win32_PrinterConfiguration")


angemarkert ist das colPrinters
Anzeige
AW: Drucker auslesen unter Office 2024
23.10.2025 16:49:03
schauan
Hier mal was von google:

Übersicht mit KI
Yes, you can use ExecQuery to run a WMI query if WMI is working properly on your system, and you have the necessary permissions. The ExecQuery method is a standard part of the WMI API and is used in scripts to retrieve information by executing a WQL (WMI Query Language) query.
To check if you can use ExecQuery

Confirm WMI is working on the local machine:
Open the WMI Management Console by running wmimgmt.msc. Right-click "WMI Control (Local)" and select "Properties". If a "Successfully connected" window appears, WMI is working locally. If you see an error, WMI is not functioning correctly.

Check your permissions:
For remote queries, you need specific permissions. Your user account must be a member of groups like Distributed COM Users and have the necessary permissions for remote launch and activation. On the target machine, you also need to ensure that firewall rules for Windows Management Instrumentation are enabled, according to Server Fault.

Also, erst mal schauen, wie Du zu wmi stehst ;-)

Dann könntest Du auch andere Abfragen versuchen, z.B.
Sub TesteSpeicher()

strComputer = "."
Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMI.ExecQuery("Select * from Win32_LogicalDisk")
For Each objDisk In colDisks
Debug.Print "DeviceID: " & objDisk.DeviceID
Debug.Print "Disk Size: " & objDisk.Size
Debug.Print "Free Disk Space: " & objDisk.FreeSpace
Next
End Sub

Anzeige
AW: Drucker auslesen unter Office 2024
23.10.2025 17:13:18
Amaranth
Ah, auf die Idee bin ich noch nicht gekommen, vielen Dank.

Merke immer wieder das ich einfach keine Programmiererin bin, sondern Fisi :)

Werde ich direkt mal probieren
AW: Drucker auslesen unter Office 2024
23.10.2025 19:12:00
Luschi
Hallo Amaranth

hier mal eine Vba-Routine von 2009, mit der ich auch in Excel_365 | 32-bit die installierten Drucker auslesen kann:
Public Sub ListPrinter()

'by Ramses 24.02.2009
'Speichert alle installierten Drucker im Array "arrPrinter"
Const HKEY_current_user = &H80000001
Dim oReg As Object, i As Long
Dim strKeyPath As String, strValue As String, msg As String
Dim arrPrinter As Variant
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Devices"
oReg.EnumValues HKEY_current_user, strKeyPath, arrPrinter
For i = 0 To UBound(arrPrinter)
oReg.GetStringValue HKEY_current_user, strKeyPath, arrPrinter(i), strValue
msg = msg & arrPrinter(i) & Replace(strValue, "winspool,", " auf ") & vbCr
Next
Set oReg = Nothing
MsgBox msg, vbInformation, "Druckerliste WMI"
End Sub

Gruß von Luschi
aus klein-Paris

Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18