ActiveX unter Windows 7

Moin auch,

ein älteres Makro lief wunderbar unter Windows XP und Excel 2007. Ein neuer Rechner hat jetzt Windows 7 und Excel 2007 und in der Zeile

Set objdialog = CreateObject("UserAccounts.CommonDialog")

kommt der Fehler „Run-time error 429: ActiveX component can’t create object.“
Was mach ich den jetzt nur?

fragende Grüße,

Ralph

Grüezi DataEditor

ein älteres Makro lief wunderbar unter Windows XP und Excel
2007. Ein neuer Rechner hat jetzt Windows 7 und Excel 2007 und
in der Zeile

Set objdialog = CreateObject(„UserAccounts.CommonDialog“)

kommt der Fehler „Run-time error 429: ActiveX component can’t
create object.“
Was mach ich den jetzt nur?

Welche Office-Version hast Du dir denn ‚aufschwatzen‘ lassen - vermutlich die 64-bit Version?

Das kann VBA dann halt nicht mehr auf die 32-bit ActiveX-Komponenten und -Konstanzen zugreifen. Vermutlich muss daher der Code umgeschrieben werden (ich kann aber mangels 64-bit Office keine Auskunft dazu geben wie).

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Die Lösung
Hallo Thomas,

jupp, dass ist Windows 7 auf 64 bit. Dummerweise hat mich die IT-Abteilung nicht gefragt, ob ich das haben will, es kam einfach.

Ich habe aber inzwischen die Lösung gefunden. Unter XP funktioniert das hier:

Set objdialog = CreateObject("UserAccounts.CommonDialog")
objdialog.Filter = "DAT Files (\*.dat)|\*.dat"

Unter Windows 7 muss dass so heissen:

With Application.FileDialog(msoFileDialogOpen)
...
End With

Vielleicht suchen das andere Leute auch noch, deswegen hier die Lösung.

Ralph