Avatar billede flash_84 Nybegynder
08. april 2008 - 16:59 Der er 5 kommentarer

VBA: Menu i form

Hej!

Dette er et Excel VBA spørgsmål.


Jeg har en form, hvor jeg gerne vil ha' en menu i toppen. På samme måde som i så mange andre programmer (File, Edit, View, Insert, Format ...), med dropdown menuer.

Kan det lade sig gøre, og hvordan?

Jeg har ledt på google det meste af eftermiddagen, men kan ikke finde det jeg leder efter. Siderne beskriver alle hvordan man opretter menuer og items i Excel menuerne, men det skal være i form'en.


Håber der er nogen der kan hjælpe :)



/flash
Avatar billede Lene Fredborg Ekspert
08. april 2008 - 17:41 #1
Jeg går ud fra, at det er en UserForm, du snakker om.

Det kan godt lade sig gøre at lave det, du ønsker. Prøv i VBA-hjælpen at søge på MultiPage og TabStrip.
Vha. TabStrip kan du lave et antal faner, som har samme layout på selve fanebladene. Vha. MultiPage kan du lave faneblade med forskelligt layout.

Jeg har f.eks. benyttet TabStip til at bygge hjælp til nogle add-ins i Word.

Ved søgning i Google fandt jeg følgende links, som måske kan hjælpe dig:

TabStrip:
http://support.microsoft.com/search/default.aspx?query=tabstrip&catalog=LCID%3D1033&spid=&mode=r&lsc=0

MultiPage:
http://support.microsoft.com/search/default.aspx?mode=r&query=multipage&catalog=LCID%3D1033&1033comm=1&spid=global

Håber det kan hjælpe dig videre.
Avatar billede flash_84 Nybegynder
08. april 2008 - 18:28 #2
Ja, det er UserForm jeg mener.

Jeg har rodet lidt med TabStrip, og har set Multipage en enkelt gang.
Men, hvordan vil du lave selve dropdown funktionen med en af dem? Det kan jeg nemlig ikke forstå.
Avatar billede Lene Fredborg Ekspert
08. april 2008 - 19:29 #3
OK. Så er det måske alligevel noget andet, du er er ude efter, end det jeg i første omgang forestillede mig. TabStrip og MultiPage vil give dig noget i retning af det du ser, hvis du vælger Tools > Options (Funktioner > Indstillinger), altså forskellige faneblade, som kan have diverse indhold.

Jeg ved jo ikke lige, hvad det er, brugeren skal kunne gøre.
Hvad med at bruge ComboBox controls? Du kan tilføje alle de ønskede items til en sådan control og så kan du jo programmere, hvad der skal foregå, når brugeren vælger et bestemt item (f.eks. via den valgte controls Click-event). På den måde kan du få den enkelte ComboBox control til at virke som en menu.
Avatar billede flash_84 Nybegynder
08. april 2008 - 20:43 #4
Det jeg forestiller mig, er en menu som den der er i alle office programmerne men Filer, Rediger, indsæt... etc. men den skal være placeret i toppen UserForm.

Hvis det ikke kan lade sig gøre, må jeg overveje at lave en menu i selve Excel vinduet. Hvis der er nogen der ved hvordan man gør dét, vil jeg gerne høre om det

Tak for dine idéer lene. Jeg vil have dem i tankerne, hvis min idé ikke kan lade sig gøre.
Avatar billede Lene Fredborg Ekspert
08. april 2008 - 21:21 #5
I selve vinduet kan du oprette er værktøjslinje med menuer (via VBA: CommandBar med CommandBarControls af typen msoControlPopup). I en msoControlPopup kan du tilføje kommandoer efter behov.

Det kan godt tage lidt tid/øvelse at finde ud af at opbygge CommandBars via VBA. Hvis du ikke nødvendigvis har brug for at oprette det hele via VBA, kunne du jo vælge at gøre det "manuelt" via Tools > Customize (Funktioner > Tilpas). I venstre side af vinduet (under kategori) skal du vælge "New menu" (der står måske "Ny menu" i en DK version). Der står nu også "New menu" i højre side. Træk "New menu" fra højre side til din værktøjslinje og drop den, hvor den skal placeres. Så har du en pop-up-menu.
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

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