Excel - Das Problem mit der Refedit.dll
Bei der Erstellung von Excel-Makros kommen häufig Formulare zum Einsatz, in denen bestimmte Steuerungselemente platziert werden. Das können Bezeichungsfelder, Buttons, Listenfelder oder ähnliche Elemente sein, mit denen man das Verhalten des jeweiligen Makros steuert.
Zu diesen Steuerelementen gehört auch das RefEdit-Feld, das sehr wirkungsmächtig ist. Doch gerade mit diesem Steuerelement gibt es häufig Probleme. Wir gehen dem hier auf den Grund.
Wo wird Refedit.dll verwendet
Direkt im Arbeitsblatt
Schauen wir uns zunächst einmal an, wie und wo dieses Steuerungselement verwendet wird. Man kann Steuerelemente direkt in einem Excel-Arbeitsblatt verwenden und sie dann mit Aktionen verknüpfen
Das Refedit-Element findet man unter "Weitere Steuerelemente":
Ein in ein Tabellenblatt eingefügtes RefEdit-Steuerelement sieht so aus:
Zusammenfassend kann man feststellen, dass es kein Problem ist, ein RefEdit-Steuerelement in ein Tabellenblatt einzufügen.
In Macros bzw. VBA-Projekten
Weitaus verbreiteter als in Arbeitsblättern ist die Verwendung von Steuerelementen in VBA-Projekten. Hier fügt man zunächst ein leeres Benutzerformular ein, das dann mit Steuerelementen bestückt wird:
Wenn man hier jedoch ein RefEdit-Steuerelement einfügen will, dann erscheint diese Meldung
Dabei wird dieses Steuerelement sowohl in Übersicht zu den zusätzlichen Steuerlementen
wie auch in der Übersicht der Verweise aufgelistet.
Versuche zur Fehlerbehebung
Ich habe verschiedene Versuche unternommen, dass Problem zu beheben. Man kann z.B. eine bestehende Office-Installation reparieren. das habe ich getan, geholfen hat es nicht. Ebensowenig hat es geholfen, dass ich das Microsoft Office Language Pack 2007 - English (en_office_language_pack_2007_x12-42345.iso) und das Microsoft Office Language Pack 2007 - Spanish/Espanol (es_office_language_pack_2007_x12-47259.iso) über die bestehende deutschsprachige Version installiert habe.
Weitere Tests
Um das Problem deutlicher einzukreisen, habe ich weitere Excel-Installationen auf virtuellen Maschinen untersucht.
VM W7 Office 2007 - Sicherungspunkt 7 vom 27.10.2023
Installiert ist auch hier Microsoft Office Enterprise 2007. Hier kommt es bereits in dem Augenblick, in dem man ein Formular einfügen will, zu einer Fehlermeldung
Klasse nicht registriert
Suche nach Objekt mit
CLSID:{AC9F2F90-E877-11CE-9F68-00AA00574A4F}
In der Übersicht zu den Verfügbaren Verweisen
erscheint RefEdit Controll nicht. Es hilf aber auch nicht, den Verweis manuell zu ergänzen. Als letzte Möglichkeit wurde versucht, das Problem dadurch zu beheben, dass Microsoft Office Enterprise 2007 vollständig, also mit allen Komponenten, installiert wurde. Doch auch dieser Schritt brachte keine Veränderungen.
VM WXPNeu - Sicherungspunkt 4
Diese VM enthielt bisher keine Office-Programme. Es wurde Office 2003 von K:\Windows und Office Iso\Office\office_mp-01.iso installiert.
Mit dieser Installation funktioniert das RefEdit Controll, wie man hier sehen kann:
VM WXPNeu-Klon-für-Mobirise - Sicherungspunkt 3a
Diese VM enthält keine Office-Programme
VM Windows81Test-Klon - Sicherungspunkt 6
Diese VM enthält keine Office-Programme
VM WindowsXPNliteReg1-Clone-SnagIt
VM kann nicht gestartet werden
VM WinXPProfUniWien-Clone-SerifStarter
VM kann nicht gestartet werden
VM WinXP ProfUniWien-Clone-Arabisch
VM kann nicht gestartet werden
VM WindowsXPNliteReg1-TurboDelphi
Diese VM enthält keine Office-Programme
VM W7 mit Personal Office 2013 - Sicherungspunkt 13 vom 30.10.2023
Betrifft wahrscheinlich auch alle früheren Sicherungspunkte. Installiert ist Microsoft Office Professional Plus 2013 von K:\Windows und Office Iso\Office\Office2013-kalina.
Hier lässt sich das RefEdit-Steuerelement problemlos einfügen.
W7 Vorbereitung Office Test Sicherungspunkt 3 vom 31.10.2023
Enthält xxxx von K:\Windows und Office Iso\Office\microsoft-office-2016-professional-plus-32-and-64-bit\SW_DVD5_Office_Professional_Plus_2016_W32_English_MLF_X20-41353.ISO
W7 Vorbereitung Office Test Sicherungspunkt 4 vom 19.12.2023
Installiert ist Microsoft Office Professional Plus 2010 von K:\Windows und Office Iso\Office\Office 2010 - No Key Needed.iso. Außerdem wurde Microsoft Office Language Pack 2010 - German/Deutsch von K:\Windows und Office Iso\Office\Microsoft Office 2010 Language Pack German\German 32-bit (x86) X16-37709.exe installiert.
Es kann überhaupt kein Formular eingefügt werden.