Hallo DPunch
Erst einmal Danke für deine Antwort.
Irgendwie bekomme ich den Teil von Andrew Pitonyak nicht zum laufen. Ist aber auch egal, da ich ja nicht die Auswirkung abfangen will, sondern lediglich das Menü deaktivieren.
Deine Lösung bringt mich leider auch nicht weiter, da ich diese relativ leicht umgehen kann, wenn ich einfach makros deaktiviere.
Also habe ich weiter gesucht und gesucht, da ich überzeugt war, es muss einen einfacheren Weg geben. In der OpenOfficeApi bin ich dann schließlich fündig geworden.
Dort ist unter com.sun.star.awt.xMenu eine Funktion "enableItem" gestolpert.
http://api.openoffice.org/docs/common/r ... enableItem
Diese müsste eigentlich genau das bewirken was ich will, wenn ich ihr als MenuItem die richtige ID übergebe. Eine ID liste habe ich hier gefunden
http://framework.openoffice.org/files/d ... 1beta.html
Jetzt kommen wir zu meinem Problem. Ich bekomme das irgendwie nicht zum laufen, da ich wie gesagt bisher nie mit Makros arbeiten musste.
Ich habe mir ein funktionierendes aufgezeichnetes Makro gezogen und dieses verändert.
Hier ist mein Code
Code: Alles auswählen
sub Test1
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim oXMenu as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
oXMenu = createUnoService("com.sun.star.awt.xMenu")
oXMenu.enableItem(5301, false)
rem ----------------------------------------------------------------------
end sub
Vielleicht kann mir jemand hier helfen und mir sagen, was ich falsch mache. Für die Zeile oXMenu.enableItem(...) erhalte ich immer die Fehlermeldung Objektvariable nicht belegt.
Was genau heißt das eigentlich?