| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Menü entladen (1364 mal gelesen)
|
Theo37 Mitglied Techniker
Beiträge: 426 Registriert: 08.10.2008
|
erstellt am: 02. Jul. 2009 09:32 <-- editieren / zitieren --> Unities abgeben:
Hallo an Alle, ich lade mir über VBA ein Menü zu, das einen Teil von der ACAD-CUIX überschreibt. Funktioniert wunderbar. Über einen zweiten Befehl, möchte ich dieses Menü wieder los werden, so daß wieder das normale Menü funktioniert (siehe Programmzeilen unten). Leider wird dadurch das Menü nicht völlig entladen, sondern beim nächsten Start lädt ACAD wieder die "ACAD-Überschreibung". Gibt es eine Möglichkeit das Menü völlig zu entladen, so daß es beim nächsten Program Start nicht wieder geladen wird? Vielen Dank im Vorraus. Public Sub Menueunload() On Error Resume Next ThisDrawing.Application.MenuGroups.Item("ACAD-Überschreibung").Unload If Err.Number <> 0 Then MsgBox "Stand schon auf normales Bearbeiten" End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 02. Jul. 2009 09:45 <-- editieren / zitieren -->
Hi Theo, ich hab's jetzt nicht probiert, aber aus dunkler Vergangenheit glaube ich mich zu erinnern, dass ich das (ausnahmsweise) über SendCommand gemacht habe, dass es (AutoCAD) sich's auch in die Registry zurückschreibt (schon vorher in VBA prüfen, ob's diese MenüGruppe gibt, damit User keine Fehlermeldungen bekommt). FILEDIA 0 _.MENUUNLOAD ... Alternative wäre, nachher Arbeitsbereich zu speichern (braucht aber rel. viel Zeit). - alfred - ------------------ www.hollaus.at [Diese Nachricht wurde von a.n. am 02. Jul. 2009 editiert.] |
Theo37 Mitglied Techniker
Beiträge: 426 Registriert: 08.10.2008
|
erstellt am: 02. Jul. 2009 10:15 <-- editieren / zitieren --> Unities abgeben:
Danke, funktioniert einwandfrei. Da hätte ich selber auch drauf kommen können, aber manchmal übersieht mann die naheliegensten Möglichkeiten. Unten die Procedur wie ich sie jetzt um gesetzt habe. Gruß Theo Public Sub Menueunload() Dim Dummy As AcadMenuGroup On Error Resume Next Set Dummy = ThisDrawing.Application.MenuGroups.Item("ACAD-Überschreibung") If Err.Number = 0 Then Set Dummy = Nothing ThisDrawing.SetVariable "FILEDIA", 0 ThisDrawing.SendCommand "_.MENUUNLOAD " & "ACAD-Überschreibung " ThisDrawing.SetVariable "FILEDIA", 1 Else: MsgBox "Stand schon auf normales Bearbeiten" End If End Sub Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|