Kezdőoldal » Számítástechnika » Programok » Word-ban hogy lehetne azt...

Word-ban hogy lehetne azt megoldani, hogy legyen (egy egyszerűen frissíthető) tartalomjegyzékem a szószámokkal?

Figyelt kérdés

Szóval lenne a fejezetcím, s valahogy mögötte/előtte, hogy hány szó az a fejezet.


A Makrókkal és szakasztöréssel megoldottam azt, hogy ne kelljen kézileg számolgatni, de a megjelenő ablak túl magas a képernyőmhöz, és onnan nem is lehet másolni.


A makró ez, ha segít:


Sub WordCount()

Dim NumSec As Integer

Dim S As Integer

Dim Summary As String


NumSec = ActiveDocument.Sections.Count

Summary = "Word Count" & vbCrLf


For S = 1 To NumSec

Summary = Summary & "Section " & S & ": " _

& ActiveDocument.Sections(S).Range.ComputeStatistics(wdStatisticWords) _

& vbCrLf

Next


Summary = Summary & "Document: " & _

ActiveDocument.Range.ComputeStatistics(wdStatisticWords)

MsgBox Summary

End Sub



nov. 2. 16:22
 1/2 A kérdező kommentje:

Fejlemény:


Könyvjelző beszúrásával és ezzel meg tudom csinálni, hogy csak az egyik szekció szószámát szúrja be valahova (ez a 3. fejezet például). Ebből kellene valami olyan, hogy az összesre alkalmazható legyen egyszerre.


Sub InsertWordCount()

Dim oRange As Word.Range

Dim sBookmarkName As String

Dim sTemp As String


sBookmarkName = "f03s5"

With ActiveDocument

sTemp = Format(.Sections(5).Range.ComputeStatistics(wdStatisticWords), "0")

Set oRange = .Bookmarks(sBookmarkName).Range

oRange.Delete

oRange.InsertAfter Text:=sTemp

.Bookmarks.Add Name:=sBookmarkName, Range:=oRange

End With

End Sub

nov. 2. 16:42
 2/2 anonim ***** válasza:
100%

Itt egy módosított makró, amely frissíti a tartalomjegyzéket és a fejezetek szószámát is hozzáadja.


Sub UpdateTOCWithWordCount()


Dim toc As TableOfContents

Dim s As Integer

Dim numWords As Long

Dim sectionText As String


' Frissítsük a tartalomjegyzéket

For Each toc In ActiveDocument.TablesOfContents

toc.Update

Next toc


' Végigmegyünk a szakaszokon, és számoljuk a szavakat

For s = 1 To ActiveDocument.Sections.Count

numWords = ActiveDocument.Sections(s).Range.ComputeStatistics(wdStatisticWords)


' A tartalomjegyzék frissítése szószámokkal

With ActiveDocument

sectionText = "Fejezet " & s & ": " & numWords & " szó"

.Paragraphs(s).Range.InsertBefore sectionText & vbCrLf

End With

Next s


End Sub


A fenti makrót futtathatod, miután elkészítetted a tartalomjegyzéket. Ez hozzáadja a szószámokat a megfelelő fejezetekhez.

nov. 2. 16:49
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!