Frage : Bookmarks für bestimmte Abschnitte herstellen

Liebe Experten:

below Makro führt das folgende durch:
Each Abschnitt, der die eingebaute Überschriftsart (wdStyleHeading2) enthält erhält bookmarkt. Die Benennung der Bookmarks ist, wie folgt: Section_Bookmark_i (i = aufeinander folgende Zahl).

This Makro sollte neu geschriebenes…
sein…, damit die Bookmarks genannt erhalten: Section_Bookmark_DE; Section_Bookmark_EN; Section_Bookmark_ES; Section_Bookmark_FR; Section_Bookmark_IT (das der Bookmarkname „Section_Bookmark_“ erhält hinzugefügt durch De, en, ES, Franc, ES ist).

The das Folgen trifft auf alle Dokumente zu, gegen die dieses Makro laufen gelassen wird:
There sind immer genau 5 Abschnitte, die zusammenbringen das Anforderung…
… (ReDim HasHeading2 (ActiveDocument.Sections.Count))

Help wird viel geschätzt. Sehr viel im Voraus danke.

Regards, Andreas
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
Sub BKMCreatePerSection ()
    Schwaches HasHeading2 () wie Boolesch
    Schwaches rng als Strecke
    Schwache sek als Abschnitt
    Schwache Para als Punkt
    I als ganze Zahl verdunkeln
    
    I = 1

Rng = ActiveDocument.Range einstellen
 
 ReDim HasHeading2 (ActiveDocument.Sections.Count)
    Rng = ActiveDocument.Range einstellen
    Mit rng. Entdeckung
        . Format = richten aus
        . Art = ActiveDocument.Styles (wdStyleHeading2)
        Tun während. Durchführen (Verpackung: =wdFindStop)
           HasHeading2 (rng. Abschnitte (1).Index) = richten aus
        Schleife
    Ende mit
    Für jede sek in ActiveDocument.Sections
        Rng = Sec.Range einstellen
        Wenn HasHeading2 (Sec.Index) dann
            ActiveDocument.Bookmarks.Add „Section_Bookmark_“ u. i, rng
            ActiveDocument.UndoClear
            I = i + 1
        Beenden wenn
    Folgende sek
        
Enden-Unterseeboot

Antwort : Bookmarks für bestimmte Abschnitte herstellen

Der ist ein kleiner Tweak.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
VorBKMCreatePerSection2 ()
    Schwaches rng als Strecke
    Schwache sek als Abschnitt
    I als ganze Zahl verdunkeln
    Suffix () als Schnur verdunkeln
    rngBookmark als Strecke verdunkeln
    
    Suffix = aufspaltete („De, en, ES, Franc, ES“,“, ")
 
    Für jede sek in ActiveDocument.Sections
        Rng = Sec.Range einstellen
        Mit rng. Entdeckung
            . Format = ausrichten en
            . Art = ActiveDocument.Styles (wdStyleHeading2)
            rngBookmark = Sec.Range einstellen
            rngBookmark.MoveEnd wdCharacter, -1
            Wenn. Dann durchführen
                ActiveDocument.Bookmarks.Add „Section_Bookmark_“ u. Suffix (i), rngBookmark
                I = i + 1
            Beenden wenn
        Mit beenden
    Folgende sek
        
Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us