Das Einfügen von Makros auf die Toolbar geht derzeit leider noch nicht.
Allerdings kann man mit einem VBA-Makro (das ggf. auch automatisch beim Start von EB ausgeführt wird, wenn das Makro CustomMenu.Menu.Run heißt), die Menüpunkte hinzufügen oder auch beliebige Menüpunkte herausfiltern.
////////////////////////////////
Beispiel1 (Menüpunkt für ein Makro hinzufügen):
////////////////////////////////
Sub AddMenu()
Dim oUserInterface As UserInterface
Dim oMenu As Menu
Set oUserInterface = Application.UserInterface
Set oMenu = oUserInterface.Menu
Call oMenu.AddMacro("MenuTest.Module1.testdialog1", aucMenuContextAndEdit, , aucObjDevice)
Call oMenu.Store
End Sub
Sub testdialog1()
MsgBox "hello1"
End Sub
Es wird das Makro "MenuTest.Module1.testdialog1" auf jedem Device(Gerät) im Kontextmenü und im Hauptmenü unter Edit bereitgestellt(aucMenuContextAndEdit).
////////////////////////////////
Beispiel 2(Menüpunkt rausfiltern):
////////////////////////////////
Sub Removemenu()
Dim oUserInterface As UserInterface
Dim oMenu As Menu
Dim oObjs As ObjectItems
Set oUserInterface = Application.UserInterface
Set oMenu = oUserInterface.Menu
Call oMenu.RemoveCommand(aucCmdEditDlg, aucMenuContextOnly, , aucObjDevice)
Call oMenu.Store
End Sub
Dieser Aufruf filtert den Menüpunkt "Open" auf jedem Gerät im Kontextmenü raus. Im Hauptmenü bleibt er allerdings drin, da aucMenuContextOnly angegeben wurde.
Ich hoffe ich konnte Euch zumindest einen kleinen Einblick geben. Die Möglichkeiten sind sehr komplex.
Gruß
Götz
-------------------
ERGÄNZUNG:
Wer einen bestimmten Menüpunkt für ALLE Objektarten(also Kabel,Geräte,Drähte usw.) zufügen oder entfernen möchte muss dies nicht einzeln tun, sondern kann das mit Austausch von aucObjDevice auf die Zahl 299 tun.
In dem obigen Beispiel wäre dann der neue Makromenüpunkt auf ALLEN Objekten verfügbar.
Call oMenu.AddMacro("MenuTest.Module1.testdialog1", aucMenuContextAndEdit, , 299)
[Diese Nachricht wurde von GoetzM am 08. Okt. 2010 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP