per VBA Felder in Word als Indexeintrag kennzeichnen

Diskutiere und helfe bei per VBA Felder in Word als Indexeintrag kennzeichnen im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo, ich erstelle ein Word Doc aus einer Datenbank per VBA. Bestimmte Einträge sollen als Indexeinträge gekennzeichnet werden. Hier der Code:... Dieses Thema im Forum "Microsoft Office" wurde erstellt von ThomasEhmann, 27. Januar 2019.

  1. per VBA Felder in Word als Indexeintrag kennzeichnen


    Hallo,


    ich erstelle ein Word Doc aus einer Datenbank per VBA.


    Bestimmte Einträge sollen als Indexeinträge gekennzeichnet werden.


    Hier der Code:


    Public gf As String

    gf = """"

    Erase straryTemp
    SchlagWNeu = ""
    straryTemp = Split(rst.Schlagw, "^")
    For intLoopCounter = 0 To UBound(straryTemp)
    SchlagWNeu = SchlagWNeu & "{ XE " & gf & straryTemp(intLoopCounter) & gf & " }"
    Next intLoopCounter
    .Selection.TypeText " " & SchlagWNeu & vbCrLf


    Wenn ich dann den Index erstelle kommen diese Einträge nicht.

    Es kommen nur die, die ich in Word direkt als IE gekennzeichnet habe


    [​IMG]

    Latein und original sind in Word gekennzeichnet worden.

    Alle anderen von VBA


    Sieht doch gleich aus.


    Bin für einen Tipp dankbar


    Thomas
     
  2. G.O.Tuhls Win User

    per VBA Felder in Word als Indexeintrag kennzeichnen

    Auch wenn es zu Deinem Problem nicht passt, hier ein Beispiel für die Aufnahme eines markierten Wortes in den Index. Kann für alle Arten von Feldern verwendet werden, weil ich den allgemeinen Fields.Add-Aufruf verwendet habe und den Feldttyp über den String
    bestimme, wie in Deinem Code.

    Sub XEHaupteintrag()    Haupteintrag = Selection    Selection.MoveRight Unit:=wdCharacter, Count:=1    If Right(Haupteintrag, 1) = " " Then        Haupteintrag = Left(Haupteintrag, Len(Haupteintrag) - 1)        Selection.MoveLeft Unit:=wdCharacter, Count:=1    End If    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _        PreserveFormatting:=False    Selection.TypeText Text:="XE """ & Haupteintrag & """"    Selection.MoveRight Unit:=wdWord, Count:=2End Sub
    Gruß

    G.O.
  3. Lisa Wilke-Thissen Win User

    per VBA Felder in Word als Indexeintrag kennzeichnen

    Hallo Thomas,

    wie schon von G. O. erwähnt, hast du die geschweiften Klammern { } lediglich als statischen Text eingefügt.

    Feldfunktionen müssen als solche aber erkennbar und somit anders gekennzeichnet sein. XE-Felder sind außerdem verborgen bzw. ausgeblendet formatiert, damit sie nicht gedruckt werden.

    Mir ist nicht klar, was letztlich genau passieren soll. Aber vielleicht hilft dir folgende Seite schon weiter:

    https://docs.microsoft.com/en-us/office/vba/api/word.indexes.add

    Wenn du das gesamte Dokument nach bestimmten Wörtern durchsuchen und kennzeichnen lassen willst, könnte - wenn es sich um eine Vielzahl verschiedener Wörter handelt, die es zu suchen gilt - eine Konkordanzdatei hilfreich sein: eine Wordtabelle, die in der
    ersten Spalte die zu suchenden Texte enthält und in der zweiten Spalte jene Texte, die letztendlich im Verzeichnis erscheinen sollen.

    https://docs.microsoft.com/en-us/office/vba/api/word.indexes.automarkentries

    Viele Grüße

    Lisa
  4. ThomasEhmann Win User

    per VBA Felder in Word als Indexeintrag kennzeichnen

    Antwort an Lisa:

    Zu Erklärung hier ein Ausschnitt aus dem Dokument:

    --------------------------------------------------------------------------------------------------------------------------


    [​IMG]


    -------------------------------------------------------------------------------------------------------------------------------

    Alle roten Wörter müssen in den Index. Alles Schwarze ist Text einschließlich der Nummern(Ordnernummern).

    Auch wenn es oft gleiche Schlagworte sind, ich benötige die Verweise auf die entsprechende Seite.

    In dem aktuellen Doc sind es ~60 Seiten, es werden wohl 200.

    Wie gesagt Schlagwörter bestimmt ~2000.

    @G.O.

    Ich bin noch nicht sicher was ich benutzen kann, ich habe einiges probiert.

    Thomas
  5. Lisa Wilke-Thissen Win User

    per VBA Felder in Word als Indexeintrag kennzeichnen

    Hallo Thomas,

    leider verstehe ich die Zielsetzung noch nicht recht.

    Deine Aussage, "Diese sollen dann zu der Seite führen, auf der diese Schlagworte … gedruckt sind", bedeutet nicht, dass du eigentlich Hyperlinks erstellen willst?

    Du lässt in Word eine Liste von über 2000 Schlagwörtern erstellen und möchtest hieraus nur eine kleine Auswahl an Wörtern als Index-Einträge kennzeichnen? Die so gekennzeichneten Einträge sollen schließlich mit zugehöriger Seitenzahl im Schlüsselwortverzeichnis
    aufgelistet werden? Die Seitenzahlen würden aber doch auf die jeweilige Seite im aktuellen Dokument verweisen.

    Viele Grüße

    Lisa
  6. G.O.Tuhls Win User

    per VBA Felder in Word als Indexeintrag kennzeichnen

    Sieht eben nicht gleich aus. {} vs. Feldklammern. Anstelle des Strings mit den geschweiften Klammern sollte es wohl besser ein Feld sein.

    Gruß

    G.O.
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

per VBA Felder in Word als Indexeintrag kennzeichnen - Microsoft Office

Die Seite wird geladen...

per VBA Felder in Word als Indexeintrag kennzeichnen - Similar Threads - VBA Felder Word

Forum Datum

Diagramme per VBA Formatieren

Diagramme per VBA Formatieren: Moin,Ich würde gern die Diagramme "Result" automatisch entsprechend der vorgegebenen Farbe einfärben. Die Diagramme sollen dabei aber vollständig auf den arrays basieren und sich vollkommen...
Microsoft Office 29. November 2023

Datensätze per VBA löschen

Datensätze per VBA löschen: Ich möchte, dass ältere Datensätze in meiner Datenbank automatisch beim öffnen gelöscht werden. In der Datenbank gibt es die Tabelle Service und darin ein Feld Woche mit einem Datum. Alle...
Microsoft Office 4. Dezember 2020

Indexeintrag festlegen

Indexeintrag festlegen: In einem Dokument, in dem ich bereits viele Indexeinträge festgelegt und einen Index erstellt habe, reagiert WORD jetzt nicht mehr auf die Tastenkombination bzw. hebt die Markierung auf statt das...
Microsoft Office 2. Oktober 2018

Word 2016 per VBA nach Zeit schließen

Word 2016 per VBA nach Zeit schließen: Ein freundliches Hallo an Alle! Folgende Herausforderung: Ich möchte bei einer 2016 Word Datei per VBA ein schließen nach Zeit einbauen, mit der Frage ob der Mitarbeiter nach ... Minuten noch...
Microsoft Office 9. August 2018

Outlookvorlage per VBA öffnen und wieder als Outlookvorlage per VBA speichern

Outlookvorlage per VBA öffnen und wieder als Outlookvorlage per VBA speichern: Hallo, ich möchte folgende Problemstellung per VBA lösen: Aus Excel (hier: Excel 2016) heraus möchte ich eine Outlookvorlagendatei öffnen, dann bestimmte Daten aus Excel in die Outlookvorlage...
Microsoft Office 27. Juni 2018

Kopieren Einfügen per VBA

Kopieren Einfügen per VBA: Hallo Habe eine Rechnung mit Excel erstellt mit fortlaufender Rechnungsnummer und einer Dropdownliste für die zur Verfügung stehenden Artikel. Ich möchte nun mit einem Klick auf dem Button,...
Microsoft Office 15. Februar 2018

VBA: Auftragserfassung per Userform?

VBA: Auftragserfassung per Userform?: Hallo zusammen, nach längerer Abwesenheit bin ich endlich wieder im Bereich VBA unterwegs und habe mich gleich in ein Projekt gestürzt :-) Ich habe aktuell eine einfache Excel Tabelle, welche...
Microsoft Office 24. Oktober 2017
per VBA Felder in Word als Indexeintrag kennzeichnen solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.