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

Code von OLEObject auslesen

Forumthread: Code von OLEObject auslesen

Code von OLEObject auslesen
12.05.2026 18:01:55
Maria
Hallo zusammen,

ich möchte den einem Button zugewiesenen Code auslesen, also per Code.

So in der Art:
ThisWorkbook.Worksheets("Buttons und Code").Cells(intAktRowButtons, 1).Value = ThisWorkbook.Worksheets(intAktWs).Name / läuft
ThisWorkbook.Worksheets("Buttons und Code").Cells(intAktRowButtons, 2).Value = oleObj.Object.caption / läuft
ThisWorkbook.Worksheets("Buttons und Code").Cells(intAktRowButtons, 2).Value = oleObj.Object.OnAction / läuft leider nicht :-(

Hat jemand von Euch eine Ahnung?
Ach, die Buttons sind Forms-, keine ActiveX-Buttons...

Schon mal vielen Dank im Voraus!!

Maria
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Code von OLEObject auslesen
12.05.2026 18:15:21
daniel
Hi
was genau heißt: "läuft nicht"?
bekommst du einen falschen Wert, wenn ja, welchen?
bekommst du eine Fehlermeldung, wenn ja, welche?

"läuft nicht" ist für einen Helfer bei der Problemanalyse ungefähr genauso hilfreich wie "wenns nicht läuft, machs anders" für den Fragenden als Hilfe.
Gruß Daniel
Anzeige
AW: Code von OLEObject auslesen
12.05.2026 19:13:52
Maria
Oh, sorry,

Du hast Recht, hilft so nicht.

"Objekt unterstützt diese Eigenschaft oder Methode nicht." ist die Meldung.

Viele Grüße von

Maria
AW: Code von OLEObject auslesen
12.05.2026 18:25:35
RPP63
Moin!
Was "sagt" die Intellisense zu .ons …(heißt Strg+Leertaste) ?

Gruß Ralf
AW: Code von OLEObject auslesen
12.05.2026 19:15:59
Maria
Oh, tatsächlich verstehe ich wirklich überhaupt nicht, was Du mir sagen möchtest, sorry!!

Was ist die "Intellisense" und wo soll ich was mit Strg+Leertaste machen?

Lg von Maria
Anzeige
AW: Code von OLEObject auslesen
12.05.2026 18:49:43
daniel
Hi
der OnAction-Wert (Name des Markos) lässt sich direkt über das Shape-Objekt auslesen:

ActiveSheet.Shapes(1).OnAction


alternativ auch

ActiveSheet.Shapes(1).OleFormat.Object.OnAction

und damit geht auch die Caption
ActiveSheet.Shapes(1).OleFormat.Object.Caption



Gruß Daniel
Anzeige
Wenn du nicht...
12.05.2026 20:30:54
Case
Moin Maria, :-)

... nur die Namen und weitere Daten zu den Button, sondern auch den hinterlegten Code auslesen willst, dann musst du auf jeden Fall den Haken setzen bei: ;-)
Datei - Optionen - Trust Center - Einstellungen für das Trust Center - Makroeinstellungen - "Zugriff auf das VBA-Projektobjektmodell vertrauen". ;-)

Dann klappt sowas: ;-)
https://www.herber.de/bbs/user/180708.xlsb

Das ist jetzt aus einer größeren Datei kopiert - sind also vielleicht überflüssige Codezeilen drin. Hat im Test aber geklappt ;-)

Auf deine Gegebenheiten musst du es eventuell noch anpassen. ;-)

Servus
Case

Anzeige
AW: Code von OLEObject auslesen
12.05.2026 19:38:10
Maria
Hei Daniel,

vielen Dank für Deine Zeit und Deine Antwort!

' Schleife durch alle Shapes auf dem aktiven Tabellenblatt
For Each shp In ThisWorkbook.Worksheets(intAktWs).Shapes

intAktRowButtons = intAktRowButtons + 1
ThisWorkbook.Worksheets("Buttons und Code").Cells(intAktRowButtons, 1).Value = ThisWorkbook.Worksheets(intAktWs).Name
ThisWorkbook.Worksheets("Buttons und Code").Cells(intAktRowButtons, 2).Value = shp.OLEFormat.Object.caption-> Objekt unterstützt diese Eigenschaft oder Methode nicht
ThisWorkbook.Worksheets("Buttons und Code").Cells(intAktRowButtons, 2).Value = shp.OLEFormat.Object.OnAction -> zeigt einen leeren String an, obwohl dem Button definitiv ein Code zugeordnet ist

Next shp

Schon einmal vielen Dank im Voraus,

lg von Maria
Anzeige
AW: Code von OLEObject auslesen
13.05.2026 11:43:31
daniel
kannst du die Datei dazu hochladen?
ansonsten, für die Caption hast du deinen Angaben nach einen funktionierenden Code verwende doch den.
hast du auch die Abfrage direkt auf das Shape probiert, so wie mein erstes Beispiel?
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