Hi Leute !
Ich hoffe, daß ich hier endlich einen Experten finden kann…
Mein Problem handelt von der Verwendung des Standarddialog ActiveX - Steuerelements (COMDLG32.OCX) mit Visual Basic for Applications.
Folgendes:
Ich habe für eine Firma eine Anwendung in Word mit VBA erstellt. In dieser Anwendung verwende ich besagtes Standarddialog - Steuerelement, ich habe es meinem Projekt mit der Funktion „Weitere Steuerelemente…“ hinzugefügt, und hier bei mir funktioniert auch alles Prima. Das Steuerelement erscheint unter dem Namen „Microsoft Common Dialog Control V6.0“ - alles klar.
Bei der Firma allerdings funktioniert so gut wie gar nichts, Word meldet kuriose Dinge. Also habe ich mir heute Nachmittag mal alle 12 PCs der betreffenden Abteilung angesehen, und dabei kam folgendes heraus:
-> Was alle PCs gemeinsam haben ist: Windows NT4.0 und Office 97.
-> Auf etwa der hälfte der Rechnern ist ServicePack 5, auf den anderen ServicePack 4 installiert.
Auf vielen Rechnern zeigte VBA an, daß es ein Steuerelement mit Namen „Microsoft Common Dialog Control V5.0“ kennt, also nur eine Version unter dem was ich verwendet habe. Auf diesen Rechnern (genau 6 Stück) ließ sich das Problem dann auch endlich lösen, ich brauchte bloß die vorhandene COMDLG32.OCX zu deregistrieren (mit REGSVR32 /U …) und die Datei gegen die COMDLG32.OCX von mir Zuhause zu ersetzen, anschließend wieder registrieren und voilá - alles lief perfekt !
Bei allen anderen Rechnern funktionierte dies leider NICHT. In einigen Fällen erhielt ich danach die Fehlermeldung „Makrospeicher konnte nicht geladen werden“, in anderen Fällen brach Word ganz ab und „Dr. Watson“ wurde aufgerufen. Dieses Phänomen ist scheinbar unabhängig vom ServicePack, auf einem Rechner haben wir sogar probehalber ServicePack 6 und Office97 neu installiert, alles ohne Erfolg.
Wenn man auf diesen PCs versucht, im VBA - Editor einem neuen, noch leeren Dialog dieses Steuerelement manuell hinzuzufügen erhält man eine der folgenden Meldungen:
-> Steuerelement kann nicht hinzugefügt werden, da es nicht korrekt lizenziert worden ist (das hört sich zumindest sinnvoll an)
-> (Oder meine absolute Lieblingsmeldung, Achtung:smile: „Nicht weiter bezeichneter Fehler“. Drückt man hier auf Hilfe, kommt eine weitere Meldung: „Hilfethema nicht vorhanden“ - war irgendie klar… hilft mir aber auch nicht.
Meine letzte Vermutung ist nun, daß die Datei COMDLG32.OCX noch weitere DLLs o.Ä. benötigt. Aber gleich vorweg: An der gleichnamigen COMDLG32.DLL scheint es nicht zu hängen, die haben wir schon probehalber getauscht, ohne Erfolg. Aber es gibt sicher noch weitere Dateien, die in Frage kämen, nur welche ?
Meine Fragen:
-> Hat jemand vielleicht schon eine Lösung ?
-> Weiß jemand, welche Dateien noch alle zum Funktionieren von COMDLG32.OCX benötigt werden ?
-> Welche Einträge in der Registry sind von Bedeutung ?
-> Gibt es brauchbare Diagnosetools für ActiveX - Steuerelemente ?
-> Vielleicht weiß jemand ja auch eine alternative.
Schonmal Tausend Dank…
Viele Grüsse
André Köthur