Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Verweis auf Steuerelement prüfen

VBA Verweis auf Steuerelement prüfen
20.11.2006 13:25:55
visionbawue
Hallo zusammen,
folgender Sachverhalt: Ich verwalte eine Excel-Datei, die eine Schemazeichnung enthält, die Inhalte (Bezeichnungen etc.) werden per Makro gefüllt.
Nun gibt es ein Steuerelement, dass die Barcode-Ausgabe eines Zellinhalts enthält mit folgendem Code auf dem Steuerelement:

Private Sub xBarCodexx_BeforeDraw()
xBarCodexx.Object.Methode "xxxxx"
End Sub

Den entsprechenden Verweis habe ich eingebunden, läuft soweit.
Nun das Problem:
Nicht alle User benötigen Barcodeausgabe und wollen oder können sich deshalb die EXE-Datei mit dem OCX nicht installieren (Einschränkung Userrechte etc.)
Wie kann ich im Code abfragen, um einen generellen Syntaxfehler abzufangen, ob der Verweis installiert ist, da er ja schon zu Beginn des Sub die Existenz der Methode abfragt? Welche anderen Möglichkeiten habe ich damit die Methode am Steuerelement trotzdem aufgerufen wird?
Danke für alle Hinweise
Gruss
Andreas

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Verweis auf Steuerelement prüfen
20.11.2006 15:57:32
PeterB
Hallo Andreas,
du hast richtig erkannt, dass die Ursache darin liegt, dass Excel die Existenz des Verweises VOR jedem Ausführen von Code prüft.
Vielleicht hilft dir die umgekehrte Lösung:
Zunächst keinen Verweis mit geben und bei einer Autostart-Routine prüfen, ob die Bibliothek vorhanden ist, wenn ja Referenz darauf erzeugen.
Gruß
Peter
AW: VBA Verweis auf Steuerelement prüfen
20.11.2006 18:28:25
visionbawue
Hallo Peter,
danke für den Tipp, das probiere ich mal.
Melde mich dann wieder, oder hast Du zufällig ein Stück Code parat?
Danke und Gruß
Andreas
AW: VBA Verweis auf Steuerelement prüfen
21.11.2006 11:28:49
PeterB
Hallo Andreas,
der Code zum Erzeugen des Verweises selbst ist nicht das Problem:
(BetroffenesWorkbook).VBProject.REFERENCES.AddFromFile (FullNameDerBibliothek)
Klammern dienen redaktionellen Zwecken.
Kontrollhaken 'Zugriff auf VBProject' muß gesetzt sein!!!
Nur wo man den FullPath einer Bibliothek auf einem x-beliebigen Rechner herbekommt, weiss ich nicht. Das Problem hatte ich noch nicht.
Müsste in der Registry vorhanden sein, doch da kenn' ich mich nicht aus.
Gruß
Peter
Anzeige
AW: VBA Verweis auf Steuerelement prüfen
22.11.2006 09:20:13
visionbawue
Hallo Peter
habe im Forum Archiv folgenden Thread gefunden, der m.E. die Information liefert, baue mal ein und melde mich dann wieder.
Verweis auf Kalendersteuerelement per VBA (131240#131889)
https://www.herber.de/forum/archiv/128to132/t131240.htm#131889
Ein Punkt noch: Wenn ich abhängig vom Vorhandensein den Verweis an- oder ausschalte, wie wirkt sich dass dann auf den Code aus, der ja durch das Add-In erst ermöglicht wird
..._BeforeDraw() ist ja eine Methode, die durch das Add-In selbst erst zur Verfügung gestellt wird, erhalte ich dann nicht umgekehrt einen Syntaxfehler, weil ich den Verweis ausgeschaltet habe?
Gruß
Andreas
Anzeige
AW: VBA Verweis auf Steuerelement prüfen
22.11.2006 11:12:29
PeterB
Hallo Andreas,
die genannte Quelle aus dem Archiv scheint brauchbar. Ich hab's mal gebunkert.
Zu den weiteren Fehlerquellen:
Falls der Verweis nicht vorhanden ist und nicht hergestellt werden kann, solltest du die Aufrufe von Programmteilen, die Teile aus dieser Bibliothek enthalten, abschalten.
Ansonsten bleibt der Code nach Aufruf stehen.
Zu diesem Zweck ist wahrscheinlich die "Bedingte Kompilierung" - siehe Online-Hilfe - auch nutzbar.
Hab' ich selbst noch nicht benutzt und erfahrungsgemäß gibt's für diesen Programmierlevel nicht viel außer 'Probieren geht über studieren'.
Bin gespannt auf dein Ergebnis.
Gruß
Peter
Anzeige
AW: VBA Verweis auf Steuerelement prüfen
23.11.2006 17:47:03
visionbawue
Hallo Peter (gern auch andere Experten),
bin etwas weitergekommen, zumindest kann ich jetzt den Verweis prüfen und diesen dann herstellen, wenn er nicht da ist. Das Problem ist jedoch, wie ich den Code zum Steuerelement generiere, da die Objektbibliothek ja erst mit dem Verweis geladen wird und auch erst damit zur Verfügung steht.
Irgend jemand eine Idee (Könnte man den Code z.B. in ein extra Add-In auslagern, dass dann dazugelesen wird, dieses Add-in könnte ich ja dann sofort mit dem Verweis ausstatten - habe ich noch nie probiert).
BTW hatte ich unterwegs das Problem, dass mein Steuerelement verschütt gegangen ist und ich es weder auf der Oberfläche noch über Einschalten der Toolbox und Suchen gefunden habe. Wenn ich aber den gleichen Namen für eine neues Steuerelement verwenden möchte, meint Excel "Mehrdeutiger Name etc.", d.h. irgendwo muss es doch noch da gewesen sein.
Aber ich habe dann den Inhalt der Datei kopiert und dann war es weg!
Danke und Gruß
Andreas
Anzeige
AW: VBA Verweis auf Steuerelement prüfen
24.11.2006 16:16:17
visionbawue
Hallo nochmals,
die bedingte Kompilierung bringt mir an der Stelle nichts, da die #const nach der Doku nicht variabel veränderbar ist und gerade das bräuchte ich. Was dazu kommt, ist, das nach Einfügen des Addins kein Haltepunkt mehr möglich ist (auch nicht per F5).
Inzwischen gehe ich den Weg, dass eben immer die jeweiligen OCX-, bzw. DLL's mit ausgeliefert werden, nach ersten Tests erkennt Excel den dazugehörigen Pfad selbständig.
Trotzdem würde mich eine Antwort interessieren: Wie kann ich Code aus fremden Bibliotheken lauffähig halten, bevor ich diese einbinde?
Gruß
Andreas
Anzeige
AW: VBA Verweis auf Steuerelement prüfen
24.11.2006 17:36:05
Jochen
Hi,
ohne Verweise und LateBinding.
mfg Jochen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige