Avatar billede Greenseeker Praktikant
25. juni 2010 - 12:08 Der er 5 kommentarer og
1 løsning

Aktivering af makro fra rulleliste

Jeg er ved at oprette en skabelon, hvor en rulleliste skal aktivere en makro. Så vidt jeg har testet mig frem til, så fungerer makroen/koden som den skal når først den bliver aktiveret.

Det skulle gerne virke sådan at makroen aktiveres så snart man har klikket på en af de 6 muligheder i listen - så klarer koden resten.

...men som det fungerer nu er man nødt til at klikke væk fra listen før makroen aktiveres...!?

Jeg er helt sikker på at det er ret simpelt, men nu har jeg rodet med det i to timer uden held...

Nogen der kan hjælpe?
Avatar billede Ialocin Novice
25. juli 2010 - 00:12 #1
Hej svaberen

Er ikke helt klar over, hvordan din makro er strikket sammen ?, men jeg har forsøgt mig med følgende:

- 1 Word dokument
- 1 List Box (lst1) med tallene fra 0 til 6
- 1 Text Box (txt1)


Med nedenstående kode, i list boxens Click-hændelse, viser text boxens det tal der er klikket på i listen


Private Sub lst1_Click()

    Me.txt1.Text = Me.lst1.Value

End Sub

Håber det gi´r lidt hjælp ?

Mvh Nicolai
Avatar billede Greenseeker Praktikant
26. juli 2010 - 12:07 #2
Hej Nicolai!

Well, jeg har 3 rullelister der hedder "rulleliste1" osv. Alle har 6 valgmuligheder og makroen er bygget op som følger:

Sub Rulleliste1()

    If ActiveDocument.FormFields("Rulleliste1").Result = "Abduktion" Then GoTo Abduktion

osv. den efterfølgende kode virker fint. Problemet er at få makroen aktiveret. Jeg ønsker at makroen aktiveres når jeg åbner listen og klikker på f.eks. "Abduktion"... Det sker ikke nu?
Avatar billede Ialocin Novice
27. juli 2010 - 08:38 #3
Hej svaberen

For mig ser det ud til, at "Sub Rulleliste1()" er en selvstændig procedure unden nogen form for hændelse tilknyttet.


Hvad med at flytte "Sub Rulleliste1()´s kode over i rullelistens egen Click_Hændlelse. ??

eller

Hvad hvis du i "Rulleliste1"´s Click hændelse kalder din procedure "Sub Rulleliste1", som følger:


'click hændelse
Private Sub Rulleliste1_Click()

  Rulleliste1

End Sub


'din egen nuværende procedure
Sub Rulleliste1()

  If ActiveDocument.FormFields("Rulleliste1").Result = "Abduktion" Then GoTo Abduktion

...

end sub




Alternativt:
Hvad sker der, hvis du ændrer din kode:

If ActiveDocument.FormFields("Rulleliste1").Result = "Abduktion" Then GoTo Abduktion


til:

If me.Rulleliste1.value = "Abduktion" then GoTo Abduktion


????

mvh Nicolai
Avatar billede Greenseeker Praktikant
28. juli 2010 - 08:32 #4
Hej igen!

Hmm... Jeg ved ikke helt hvad du mener med at Sub'en er en selvstændig procedure uden hændelse? Altså koden fylder ialt ca. 40 linier, og virker som sagt fint når den bliver aktiveret.

Det som jeg ikke kan få til at virke er hvornår den bliver aktiveret. Jeg håbede at man kunne få den aktiveret gennem indstillinger i rullelistens egenskaber, men det kan man ikke, eller hvad?

Jeg er ikke klar over hvad en click-hændelse er og hvordan man bruger den... Kan du uddybe lidt?
Avatar billede Ialocin Novice
28. juli 2010 - 22:12 #5
Hej svaberen

Måske vi snakker lidt forbi hinanden ??

Så her er lige lidt spørgsmål:
1. Hvordan aktiverer du din kode p.t. ??

2. Når du si´r rullelister ... hvad mener du så ?
Er det rullelister oprettet via menulinien "Control Toolbox" i Word ?

3. Kan du evt. maile en kopi til mig (nfogt@privat.dk) ... af dit dokument med rullelisterne ... koderne er ikke nødvendige.


mvh Nicolai
Avatar billede Ialocin Novice
30. juli 2010 - 20:03 #6
Hej svaberen

Hermed et "svar" og løsningsteksten fra vores interne mail.


Din macro/sub Rulleliste1 var sat til afvikling ved udgangen af Rullelisten i Word dokumentet, altså når Rullelisten mistede sit focus = når man klikkede udenfor listen ....

Det har jeg ændret, så afviklingen af sub Rulleliste1 sker når en værdi på Rullelisten tilgåes.


Det jeg har gjort er:

- unprotected dokumentet
- højre klikket på din liste.
- valgt properties.
- midt på "properties-vinduet", under "Run macro on", har jeg:
  * I Entry listen, valgt din sub Rulleliste1
  * I Exit listen, valgt (none)
- protected dokumentet

mvh Nicolai
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
Tag et kursus i Word og øg effektiviteten

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