Avatar billede tisbris Nybegynder
15. april 2005 - 11:05 Der er 20 kommentarer og
1 løsning

Opdater indholdsfortegnelse automatisk - ikke kun ved udskrift

Jeg har kigget lidt omkring og kan ikke finde en løsning på mit problem.

Jeg har fundet frem til hvordan man for indholdsfortegnelsen til at blive opdateret når man udskriver dokumenetet, MEN....


Hvordan for man samme funktion når man blot ønsker at gemme dokumentet???

Det er jo ikke altid at man har brug for at printe dokumentet inden det bliver sendt som mail.

På forhånd tak
Avatar billede ferdinand.k Mester
15. april 2005 - 11:11 #1
Højreklik på indholdsfortegelsen, og vælg "opdater", derefter kan du gemme dokumentet...
Avatar billede jkrons Professor
15. april 2005 - 11:11 #2
Du kan ikke gøre det umiddlebart. Du kan muligvis lave en makro, der opdaterer dine felter, når du gemmer, men mit bedste gæt er, at det er nemmere at gøre det manuelt.
Avatar billede motz2405 Nybegynder
15. april 2005 - 11:11 #3
ctrl+a -> f9 -> pil ned -> enter
Avatar billede peter.erikse Nybegynder
15. april 2005 - 11:13 #4
Du kan markere indholdsfortegnelsen og trykke F9. Skal den gøres automatisk ved lukning, må du indspille en makro og placere den i et modul, som du kalder "Autoclose"
Avatar billede tisbris Nybegynder
15. april 2005 - 11:28 #5
Takker, men det skal foregå automatisk...

Peter kan du hjælpe mig lidt med en sådanne macro, kan ikke lige gennemskue helt hvad du mener....;o)
Avatar billede jkrons Professor
15. april 2005 - 11:41 #6
Du skal lave en makro, der ser sådan ud:

Sub FileSave()
  On Error Resume Next
  ActiveDocument.TablesOfContents(1).Update
End Sub

Den opdaterer din indholdsfortegenlse hver gang du gemmer et dokument.
Avatar billede jkrons Professor
15. april 2005 - 11:47 #7
Undskyld, jeg glemte den vigtigste linie:

Sub FileSave()
    On Error Resume Next
    ActiveDocument.TablesOfContents(1).Update
    ActiveDocument.Save
End Sub
Avatar billede tisbris Nybegynder
15. april 2005 - 12:00 #8
Det virker bare perfekt...

jeg har nu fundet ud af hvad jeg skal bruge koden til....;o)

du har klart fortjent dine point, men nu når vi er igang kan detnne koden ikke redigeres således at den opdatere alle felter (sidefode m.m) ??
Avatar billede jkrons Professor
15. april 2005 - 12:05 #9
Et øjeblik :-)
Avatar billede tisbris Nybegynder
15. april 2005 - 12:41 #10
Gælder mig....

der er dog et enkelt problem, hvis man lukker et redigeret dokument, så kommer office og spørger om man vil gemme, og når man så siger 'ja' så gemmer office dokumentet, men det er ikke blevet opdateret...:O(
Avatar billede jkrons Professor
15. april 2005 - 12:43 #11
Funktioner ovenfor virker kun, når du aktivt gemmer dokumentet. Ikke når du gemmer passivt. Hvis den skal kunne det, skal den nok ligge to forskellige steder. Det ser jeg også lige på.
Avatar billede jkrons Professor
15. april 2005 - 13:17 #12
Denne opdaterer alting, men stadig kun når du gemmer aktivt:

Sub FileSave()
    On Error Resume Next
    ActiveDocument.TablesOfContents(1).Update
    ActiveDocument.Fields.Update
    n = ActiveDocument.Sections.Count
    For i = 1 To n
        ActiveDocument.Sections(i).Headers(1).Range.Fields.Update
        ActiveDocument.Sections(i).Footers(1).Range.Fields.Update
    Next i
    ActiveDocument.save
End Sub
Avatar billede motz2405 Nybegynder
15. april 2005 - 13:21 #13
jkrons: Man kan jo sætte dokumentet til at autosave. Vil det så også virke?
Avatar billede tisbris Nybegynder
15. april 2005 - 13:23 #14
Det er aldeles perfekt, kom med et svar og du vil modetage de mest fortjente point ....;-}

Arbejder du videre på at få det til at virke ved passiv lukning?

endnu engang tak
Avatar billede jkrons Professor
15. april 2005 - 13:23 #15
Nej. Det virker som nævnt kun når du aktivt gemmer dokumentet med Gem knappen eller via Filer - Gem.

Det virker heller ikke, hvis du bruger Gem som i stedet for et dokument, der skal gemmes under et nyt navn.
Avatar billede tisbris Nybegynder
15. april 2005 - 13:24 #16
checker lige autosave
Avatar billede jkrons Professor
15. april 2005 - 13:24 #17
Jeg skal lige til et møde. så kigger jeg på passiv lukning bagefter.
Avatar billede jkrons Professor
15. april 2005 - 15:54 #18
Det med den passive gemning er ikke så nem endda, da der tilsyneladende ikke udløses nogen hændelse i forbindelse med lukningen af dokumentet - i hvert fald ikke en man kan fange generelt. Du kan gøre det i et et konkret dokument, men jeg har nednu ikke fundet en smart metode, der virker generelt.
Avatar billede tisbris Nybegynder
18. april 2005 - 07:48 #19
det er også ok hvis det kan lade sig gøre i et konkret dokument, dokumentet skal nemlige fungere som template.
Avatar billede jkrons Professor
18. april 2005 - 21:47 #20
Så prøv at lægge nedenstående kode ind i ThisDocument modulet. Men læg det på hældende Document_Close.

Private Sub Document_Close()
On Error Resume Next
    ActiveDocument.TablesOfContents(1).Update
    ActiveDocument.Fields.Update
    n = ActiveDocument.Sections.Count
    For i = 1 To n
        ActiveDocument.Sections(i).Headers(1).Range.Fields.Update
        ActiveDocument.Sections(i).Footers(1).Range.Fields.Update
    Next i
End Sub

Funktionen aktiveres kun, hvis der siges Ja til at gemme. Ikke hvis der siges nej.
Avatar billede jkrons Professor
18. april 2005 - 21:47 #21
hældende = Hændelse
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