15. juni 2004 - 09:31Der er
9 kommentarer og 2 løsninger
Global Add-In - AutoExit - Menu Delete
Jeg har lavet en Global Add-In som er placeret i Word’s Startup bibliotek.
I AutoExec proceduren danner jeg et menupunkt via msoControlPopup, som placeres til højre for ”Help”, hvilket virker fint.
Option Explicit Private mcbMenu As CommandBar Private mcbpPop As CommandBarPopup Private Const mstrMenuName As String = "Test"
Public Sub AutoExec() CreateMenu End Sub
Private Sub CreateMenu() DeleteMenu On Error Resume Next Set mcbMenu = CommandBars.ActiveMenuBar Set mcbpPop = mcbMenu.Controls.Add(Type:=msoControlPopup, Temporary:=True) With mcbpPop .Caption = mstrMenuName .Enabled = True .Visible = True .OnAction = "DoTheJob" End With End Sub
Privat Sub DoTheJob() MsgBox “Du har trykket på menupunktet” End Sub
I AutoExit vil jeg slette mit menupunkt (virker ikke)
Public Sub AutoExit() DeleteMenu End Sub
Private Sub DeleteMenu() On Error Resume Next mcbMenu.Controls(mstrMenuName).Delete End Sub
Jeg har med en MsgBox testet at AutoExit reagerer, men efter jeg lukker Word og fjerner den globale add-in, og åbner Word igen, så findes menupunktet stadig til højre for hjælp.
Jeg har forsøgt at erstatte mcbMenu.Controls(mstrMenuName).Delete med CommandBars.ActiveMenuBar.Controls(mstrMenuName).Delete og CommandBars("Menu Bar").Controls(mstrMenuName).Delete
Jeg kan ikke bruge Reset, fordi andre globale skabeloner har oprettet deres menupunkter på samme værktøjslinie.
Jeg har kun brug for svar fra brugere, som kender forskellen på en global skabelon og en almindelig skabelon, da der er forskel på, hvordan disse reagerer og styres.
Hvordan sikrer jeg at jeg får dette menupunkt slettet igen……??
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Hmm - hvis man vælger View / Toolbars / Customize på fanebladet Toolbars markerer "Menu Bar" og trykker på kanppen Reset, så kan man opleve, at man kan nulstille "Menu Bar" for enten Normal.dot eller den skabelon man har åbnet.... mon man med kode kan komme omkring at slette menupunktet både for skabelonen og for normal.dot.......
jeg må gerne lege med Reset på min egen pc... var jo blot for at teste... og nu ved jeg at menupunktet, som jeg gerne vil slette..... ja det ligger i normal.dot
Hej Flemming - jeg tror du skal tænke anderledes - f.eks. behøver du ikke at oprette menupunktet via kode til det som jeg ser. Du skal i stedet lige menupunket i din dot-fil - så vil den fremmkomme automatisk, når den åbnes (og det er jo ved start af Word, når du ligger .dot filen i opstartsbiblioteket) og forsvinde automatisk, når din .dot fil ikke længere er åben.
Ja, det er rigtigt, at hvis den laves på den måde, så vil den forsvinde når skabelonen ikke er tilgængelig længere. Men så siger min logik også, at når det kan lykkes sådan, så kan det også lykkedes med kode....... og da menupunktet bliver pænt stort, så er det væsentligt nemmere at administrere og vedligeholde via kode.
Med denne løsning, hvor der kører en makro inden brugeren får lov til at arbejde i Word, der er det en god ide, at slutte af med "ThisDocument.Saved = True" hvis ikke man vil have at brugeren skal promptes for "Save changes in xxxx?" (altså i den globale add-in)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.