Avatar billede ds-zim Nybegynder
27. marts 2001 - 13:37 Der er 5 kommentarer og
1 løsning

Styring/Manipulering af Menulinier

Dim MyCommandBar As CommandBar
Dim MyCommandBarControl As CommandBarControl
For Each MyCommandBar In CommandBars
MyCommandBar.Enabled = False
Next
Set MyCommandBar = Application.CommandBars(\"Risk Manager v.9 BETA\")
For Each MyCommandBarControl In MyCommandBar \' (*)
MyCommandBarControl.Enabled = False
Next
Set MyCommandBarControl = CommandBars.FindControl(Type:=msoControlButton, Tag:=\"LOG1\")
MyCommandBar.Enabled = True
MyCommandBarControl.Enabled = True
End Function

###

Som Du/I måske har opdaget, roder jeg i disse dage med manipulation af Access\' menulinier;

http://www.eksperten.dk/spm/57770 & http://www.eksperten.dk/spm/59649

(*);
Jeg får fejlen \'Object does not support this property or method. Argumentering/Forslag ?

Jeg vil gerne skjule samtlige menulinier(hvilket virker), aktivere den program-specifikke menulinie, deaktivere samtlige
menulinie-elementer bortset fra LogIn-elementet. Når der så er logget ind, skal de resterende elementer aktiveres.

###

Alle brugbare forslag til referencer, manipulering af menulinier &/eller hvor i hjælpfilen jeg selv kan læse mere,
honoreres med point.

Cheers, Zim
Avatar billede ds-zim Nybegynder
27. marts 2001 - 14:35 #1
Hmm, kan det virkli\' passe at jeg skal manipulere elementer i en linie individuelt og ikke kan benytte en For -> Next løkke ?
Avatar billede ds-zim Nybegynder
28. marts 2001 - 12:25 #2
Mangler stadig svar her ; http://www.eksperten.dk/spm/59649
Avatar billede ds-zim Nybegynder
28. marts 2001 - 12:28 #3
Er der nogen måde, der muligør at når et menuelement vælges(/makro afspilles), kan man stadig vælge/trykke
på et andet element ?
28. marts 2001 - 12:54 #4
hej Zim,

Jeg læser normalt ikke VB-spørgsmål (vil hellere have point i Access), såå....

Men kan du ikke bare lave noget i retning af:

Dim MyCommandBar As CommandBar
Dim MyCommandBarControl As CommandBarControl
For Each MyCommandBar In CommandBars
    MyCommandBar.Enabled = False
Next
Set MyCommandBar = Application.CommandBars(\"Risk Manager v.9 BETA\")
For n = 1 to 10
    Set MyCommandBarControl = CommandBars.FindControl(Type:=msoControlButton, Tag:=\"LOG\" & n)
    MyCommandBarControl.Enabled = False
Next n
Set MyCommandBarControl = CommandBars.FindControl(Type:=msoControlButton, Tag:=\"LOG1\")
MyCommandBar.Enabled = True
MyCommandBarControl.Enabled = True
End Function


hvor du skal give alle dine objekter et fortløbende mærke, altså: Log1, Log2, Log3....
Derefter skal For-Next-løkken gå fra 1 til maks-antal.

Comprende?

Eksemplet er totalt uprøvet :)

/Thomas
Avatar billede ds-zim Nybegynder
04. april 2001 - 13:05 #5
Tjoe, det mener jeg bare er for omstændigt(estimat~3-4 linier, 30-50 elementer totalt).
Med Typos & min slamkode, begyndte jeg at miste elementer & stressede lidt over hvordan jeg
sq få dem frem igen. Derfor ville jeg gerne \"behandle\" en hel linie af gangen;

Dim mycommandbar As CommandBar
For Each mycommandbar In CommandBars
mycommandbar.Visible = True
Next

.. og fik et noget broget resultat :) derfor prøvede jeg ;

Function ShowAll()
Dim MyCommandBar As CommandBar
Set MyCommandBar = Application.CommandBars(\"Risk Manager v.9 BETA\")
Dim MyCommandButton As Variant
For Each MyCommandButton In MyCommandBar \'(*)
MyCommandButton.Visible = True
Next
End Function

.. (*): men får fejlen \"object does not support this property or method\"
Talk about wrong scope.. 50 point til dig hvis du kan løse den!
Avatar billede ds-zim Nybegynder
28. april 2001 - 12:25 #6
Øh, er røget over i en hel anden grøft hvor denne problemstilling ikke længere er relevant.
Vender tilbage når jeg får brygget noget sammen...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester