/ Forside / Teknologi / Administrative / MS-Office / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS-Office
#NavnPoint
sion 18709
refi 14474
Klaudi 9389
Rosco40 5695
berpox 5456
dk 5398
webnoob 4919
Benjamin... 4870
o.v.n. 4637
10  EXTERMINA.. 4373
Automatisk stikordsregister/index i Word X~
Fra : Esben Kolind Laustru~


Dato : 07-07-04 12:31

Jeg har et dokument med en række notater, som jeg gerne vil have
indekseret/oprettet et stikordsregister over. Word XP kan oprette et indeks,
men man skal markere alle de ord som skal med i stikordsregisteret. Da
dokumentet er langt, vil det tage meget langt tid at markere alle de ord,
der skal indekseres, så jeg vil høre, om der er noget der ved, om man kan
lave et _automatisk_ stikordsregister, hvor alle ord i dokumentet kommer
med.

Ord som "at", "men", "så" osv. vil selvfølgelig fremgå på utrolig mange
sider, men dem kan man jo blot slette i indekset bagefter.

Håber I kan hjælpe

Esben




 
 
Ukendt (07-07-2004)
Kommentar
Fra : Ukendt


Dato : 07-07-04 20:38


"Esben Kolind Laustrup" <ezben_fjern_dette_@tele2adsl.dk> wrote in message
news:1aRGc.1853$373.1291@news.get2net.dk...
> Jeg har et dokument med en række notater, som jeg gerne vil have
> indekseret/oprettet et stikordsregister over. Word XP kan oprette et
indeks,
> men man skal markere alle de ord som skal med i stikordsregisteret. Da
> dokumentet er langt, vil det tage meget langt tid at markere alle de ord,
> der skal indekseres, så jeg vil høre, om der er noget der ved, om man kan
> lave et _automatisk_ stikordsregister, hvor alle ord i dokumentet kommer
> med.
>
> Ord som "at", "men", "så" osv. vil selvfølgelig fremgå på utrolig mange
> sider, men dem kan man jo blot slette i indekset bagefter.
>
> Håber I kan hjælpe

Tjah. Jeg kan da prøve.

Nu ved jeg ikke hvor meget du ved om stikordsregistre i Word, men lidt basal
viden først.
Et stikordsregister er et felt { INDEX } som ud fra { XE Sitkord} felter
laver en liste over stikord med sidenummer.
Så hvert { XE }felt giver et stikord og sidenummer i listen. Hvis det samme
stikord optræder flere gange bliver det ikke gentaget i stikordsregistret
kun med et evt nyt sidenummer.
Der er nogle muligheder for at gøre indekset mere eller mindre fancy med
brug af switches. Læs onlinehjælpen for inspiration.

Et {XE} felt kan enten indsættes manuelt eller ved brug af en concordance
(konkordans ??) fil.
En concordance fil er en to-spaltet tabel med søgeord i venstre og stikord i
højre spalte. Når man så laver en automarkering bliver der lavet et { XE }
felt i dokumentet hver gang søgeordet optræder. Det er så vidt jeg husker
ganske hurtigt. Der bliver lavet nye XE felter hver gang man laver en
automarkering, uanset at der allerede er et XE felt.

At lave en liste over ord i et dokument kan sikkert lade sig gøre på flere
måder, men det bliver en tung opgave, særligt hvis det er et stort dokument.
Men her er en makro til inspiration

Sub CreateListOfWords()
Dim vArr() As String
Dim I As Long
Dim vStr As String

ReDim vArr(0)
For I = 1 To ActiveDocument.Words.Count
vStr = ActiveDocument.Words(I)
If Not InList(vArr, vStr) Then
vArr(UBound(vArr)) = vStr
ReDim Preserve vArr(UBound(vArr) + 1)
End If
Next I
For I = 0 To UBound(vArr)
Debug.Print I; vArr(I)
Next I

End Sub

Function InList(Tmparr() As String, vWord As String) As Boolean
Dim x As Long
InList = False
For x = 0 To UBound(Tmparr)
If Tmparr(x) = vWord Then
InList = True
Exit For
End If
Next x
End Function


Dette ikke løser dit problem, men måske kan finde ud af hvordan du vil
angribe at lave indekset. Og så er du velkommen til at spørge igen.

Mvh Mads




Esben Kolind Laustru~ (08-07-2004)
Kommentar
Fra : Esben Kolind Laustru~


Dato : 08-07-04 07:09

> Tjah. Jeg kan da prøve.
>
> Nu ved jeg ikke hvor meget du ved om stikordsregistre i Word, men lidt
basal
> viden først.
> Et stikordsregister er et felt { INDEX } som ud fra { XE Sitkord} felter
> laver en liste over stikord med sidenummer.
> Så hvert { XE }felt giver et stikord og sidenummer i listen. Hvis det
samme
> stikord optræder flere gange bliver det ikke gentaget i stikordsregistret
> kun med et evt nyt sidenummer.
> Der er nogle muligheder for at gøre indekset mere eller mindre fancy med
> brug af switches. Læs onlinehjælpen for inspiration.
>
> Et {XE} felt kan enten indsættes manuelt eller ved brug af en concordance
> (konkordans ??) fil.
> En concordance fil er en to-spaltet tabel med søgeord i venstre og stikord
i
> højre spalte. Når man så laver en automarkering bliver der lavet et { XE }
> felt i dokumentet hver gang søgeordet optræder. Det er så vidt jeg husker
> ganske hurtigt. Der bliver lavet nye XE felter hver gang man laver en
> automarkering, uanset at der allerede er et XE felt.
>
> At lave en liste over ord i et dokument kan sikkert lade sig gøre på flere
> måder, men det bliver en tung opgave, særligt hvis det er et stort
dokument.
> Men her er en makro til inspiration
>
> Sub CreateListOfWords()
> Dim vArr() As String
> Dim I As Long
> Dim vStr As String
>
> ReDim vArr(0)
> For I = 1 To ActiveDocument.Words.Count
> vStr = ActiveDocument.Words(I)
> If Not InList(vArr, vStr) Then
> vArr(UBound(vArr)) = vStr
> ReDim Preserve vArr(UBound(vArr) + 1)
> End If
> Next I
> For I = 0 To UBound(vArr)
> Debug.Print I; vArr(I)
> Next I
>
> End Sub
>
> Function InList(Tmparr() As String, vWord As String) As Boolean
> Dim x As Long
> InList = False
> For x = 0 To UBound(Tmparr)
> If Tmparr(x) = vWord Then
> InList = True
> Exit For
> End If
> Next x
> End Function
>
>
> Dette ikke løser dit problem, men måske kan finde ud af hvordan du vil
> angribe at lave indekset. Og så er du velkommen til at spørge igen.
>
> Mvh Mads
>
>
Hej Mads!

Tak for det meget fyldestgørende svar! Jeg vil prøve mig frem med din
løsning!

Esben



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste