Avatar billede koppelgaard Praktikant
11. august 2011 - 09:04 Der er 12 kommentarer og
1 løsning

Få nummeret/navnet på den aktiverede tabel

Hvorledes får man VBA til at returnere, hvilket tabel nummer curseren er i?
Avatar billede Ialocin Novice
11. august 2011 - 10:01 #1
Hej Koppelgaard

Taler vi om en ganske almindelig tabel oprettet i Word ?


Med venlig hilsen, Nicolai
Avatar billede Lene Fredborg Ekspert
11. august 2011 - 10:14 #2
Du kan bruge metoden vist i afsnit 2 i artiklen "Determine the index number of the current paragraph, table, section", http://word.mvps.org/faqs/macrosvba/GetIndexNoOfPara.htm
Avatar billede koppelgaard Praktikant
11. august 2011 - 12:57 #3
Ja
Hvis der nu er 5 og man står i nummer 3 hvordan får man så returneret tallet 3 med VBA?
Avatar billede Lene Fredborg Ekspert
11. august 2011 - 13:16 #4
Jeg ved ikke, om din kommentar gælder mit link til artiklen. I givet fald: præcis som det er vist i afsnit 2:

Har du prøvet?

MsgBox ActiveDocument.Range(0, Selection.Tables(1).Range.End).Tables.Count
vil give resultatet 3, hvis markøren er i 3. tabel i dokumetet.

Count returnerer i dette tilfælde antallet af tabeller frem til det sted, hvor markøren er - ikke alle tabeller i dokumentet.
Avatar billede Ialocin Novice
11. august 2011 - 15:20 #5
Hej Lene

Jeg har prøvet din kode stump:
MsgBox ActiveDocument.Range(0, Selection.Tables(1).Range.End).Tables.Count

med følgende fejlmelding:

"The requested member of the collection does not exist"


Ved du hvilket medlem af samlingen der er fraværende :o)
Jeg skriver i Excel 2003 ??

Med venlig hilsen, Nicolai
Avatar billede Lene Fredborg Ekspert
11. august 2011 - 18:14 #6
Den eneste "samling" (collection), der er involveret i koden, er "Tables".

Markøren skal stå i en tabel. Hvis den ikke gør det, vil den pågældende fejlmelding komme, da der i givet fald ikke er nogen "Tables(1)" i din Selection.
Avatar billede Ialocin Novice
11. august 2011 - 21:31 #7
Hej Lene

Ved ikke hvad jeg så gør forkert, for min fejlmelding dukker stadig op, selvom markøren er placeret i en af mine 4 tabeller ?

Anyway ... det er ikke mit spørgsmål, så brug ikke for meget tid på mig.

Med venlig hilsen, Nicolai
Avatar billede Lene Fredborg Ekspert
11. august 2011 - 22:34 #8
lalocin:
Jeg holdt mig til det oprindelige spørgsmål og lagde derfor ikke mærke til, at du skrev "Excel". Koden er til Word. Man kan ikke bruge samme VBA kode i Word og Excel, for det er helt forskellige objekt-modeller, der ligger bag.
Avatar billede koppelgaard Praktikant
12. august 2011 - 06:32 #9
Hej Lene.
Det var en turbulent dag i går. Måske var det derfor jeg overså dit svar og i stedet gav opklarende oplysninger til Nicolai.

Dit svar virke perfekt.
Det er vist svært at at ramme noget om word, du ikke ved :-)
Sender du et svar?
Avatar billede Ialocin Novice
12. august 2011 - 07:44 #10
Hej Lene

Uha jeg vrøvler :o)
I #5 mener jeg selvfølgelig Word 2003.
Det med Excel er blot en "arbejdsskade", da jeg befinder mig mest der og godt kender til de forskellige objektmodeller.

Hvilken udgave af Word bruger du Koppelgaard ?


Med venlig hilsen, Nicolai
Avatar billede koppelgaard Praktikant
12. august 2011 - 08:22 #11
Jeg bruger 2007.
Jeg har ikke prøvet det i 2003.
Underligt at du ikke kan få det til at virke
/Michael
Avatar billede Lene Fredborg Ekspert
12. august 2011 - 09:08 #12
Det var godt, at du fik det til at virke.

Nicolai:
Koden bør virke uden problemer i alle versioner af Word.
Avatar billede Ialocin Novice
12. august 2011 - 12:10 #13
Hej Begge

Blot til info:

Når jeg placerer koden i dokumentets OPEN hændelse kommer msgbox´en med værdien 1 og cursoren er placeret i den første tabel.

Når jeg aktiverer koden via en kommandoknap på dokumentet, så er det at fejlen dukker op ?

Med venlig hilsen, Nicolai

PS:
Jeg opretter gerne et point spørgsmål, hvis nødvendig ?
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