Word.Bookmark class

Stellt eine einzelne Textmarke in einem Dokument, einer Auswahl oder einem Bereich dar. Das Bookmark-Objekt ist ein Element der Bookmark-Auflistung. Das Word. BookmarkCollection enthält alle im Dialogfeld Lesezeichen (Menü Einfügen) aufgeführten Lesezeichen.

Extends

Hinweise

API-Satz: WordApiDesktop 1.4

Verwendet von

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Read bookmark properties and the text enclosed by each bookmark.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange();
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name,items/start,items/end,items/isEmpty,items/isColumn,items/storyType,items/range/text");
    await context.sync();
    console.log(`Bookmarks found: ${bookmarks.items.length}`);
    bookmarks.items.forEach((bookmark: Word.Bookmark) => {
        console.log("Bookmark details:", {
            name: bookmark.name,
            start: bookmark.start,
            end: bookmark.end,
            isEmpty: bookmark.isEmpty,
            isColumn: bookmark.isColumn,
            storyType: bookmark.storyType,
            text: bookmark.range.text
        });
    });
});

Eigenschaften

context

Der dem Objekt zugeordnete Anforderungskontext. Dadurch wird der Prozess des Add-Ins mit dem Prozess der Office-Hostanwendung verbunden.

end

Gibt die Position des Endzeichens der Textmarke an.

isColumn

Gibt zurück true , ob die Textmarke eine Tabellenspalte ist.

isEmpty

Gibt zurück true , wenn die Textmarke leer ist.

name

Gibt den Namen des Objekts Bookmark zurück.

range

Gibt ein Range Objekt zurück, das den Teil des Dokuments darstellt, der im Bookmark Objekt enthalten ist.

start

Gibt die Position des Anfangszeichens der Textmarke an.

storyType

Gibt den Textabschnittstyp für die Textmarke zurück.

Methoden

copyTo(name)

Kopiert diese Textmarke in die neue, im Argument angegebene name Textmarke und gibt ein Bookmark Objekt zurück.

delete()

Löscht die Textmarke.

load(options)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNames)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNamesAndPaths)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

select()

Markiert die Textmarke.

set(properties, options)

Legt mehrere Eigenschaften eines Objekts gleichzeitig fest. Sie können entweder ein einfaches Objekt mit den entsprechenden Eigenschaften oder ein anderes API-Objekt desselben Typs übergeben.

set(properties)

Legt mehrere Eigenschaften für das Objekt gleichzeitig fest, basierend auf einem vorhandenen geladenen Objekt.

toJSON()

Überschreibt die JavaScript-Methode toJSON() , um eine nützlichere Ausgabe bereitzustellen, wenn ein API-Objekt an JSON.stringify()übergeben wird. (JSON.stringifyruft wiederum die toJSON Methode des Objekts auf, das an sie übergeben wird.) Während das ursprüngliche Word.Bookmark Objekt ein API-Objekt ist, gibt die toJSON Methode ein einfaches JavaScript-Objekt (als Word.Interfaces.BookmarkData) zurück, das flache Kopien aller geladenen untergeordneten Eigenschaften des ursprünglichen Objekts enthält.

track()

Nachverfolgung des Objekts zwecks automatischer Anpassung auf der Grundlage der umgebenden Änderungen im Dokument. Dieser Aufruf ist eine Kurzform für context.trackedObjects.add(thisObject). Wenn Sie dieses Objekt aufrufübergreifend .sync und außerhalb der sequenziellen Ausführung eines ".run"-Batches verwenden und beim Festlegen einer Eigenschaft oder beim Aufrufen einer Methode für das Objekt ein "InvalidObjectPath"-Fehler angezeigt wird, müssen Sie das Objekt der nachverfolgten Objektsammlung hinzufügen, wenn das Objekt zum ersten Mal erstellt wurde. Wenn dieses Objekt Teil einer Sammlung ist, sollten Sie auch die übergeordnete Sammlung nachverfolgen.

untrack()

Gibt den diesem Objekt zugewiesenen Arbeitsspeicher frei, wenn das Objekt zuvor nachverfolgt wurde. Dieser Aufruf ist die Kurzform für context.trackedObjects.remove(thisObject). Viele nachverfolgte Objekte verlangsamen die Ausführung der Hostanwendung, also achten Sie darauf, alle hinzugefügten Objekte nach abgeschlossener Verwendung freizugeben. Sie müssen einen Aufruf durchführen context.sync() , bevor die Speicherfreigabe wirksam wird.

Details zur Eigenschaft

context

Der dem Objekt zugeordnete Anforderungskontext. Dadurch wird der Prozess des Add-Ins mit dem Prozess der Office-Hostanwendung verbunden.

context: RequestContext;

Eigenschaftswert

end

Gibt die Position des Endzeichens der Textmarke an.

end: number;

Eigenschaftswert

number

Hinweise

API-Satz: WordApiDesktop 1.4

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Move the bookmark's end before the summary's final period.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name,items/start");
    paragraphRange.load("end");
    await context.sync();

    const summaryBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleSummary");
    if (!summaryBookmark) {
        console.warn("RangeSampleSummary was not found. Choose Insert bookmark first.");
        return;
    }

    const newEnd = paragraphRange.end - 1;
    if (newEnd <= summaryBookmark.start) {
        console.warn("The bookmark is too short. Run Set up and Insert bookmark again.");
        return;
    }

    summaryBookmark.end = newEnd;
    await context.sync();
    console.log("Moved the bookmark end before the final period. Get bookmark details to verify the enclosed text.");
});

isColumn

Gibt zurück true , ob die Textmarke eine Tabellenspalte ist.

readonly isColumn: boolean;

Eigenschaftswert

boolean

Hinweise

API-Satz: WordApiDesktop 1.4

isEmpty

Gibt zurück true , wenn die Textmarke leer ist.

readonly isEmpty: boolean;

Eigenschaftswert

boolean

Hinweise

API-Satz: WordApiDesktop 1.4

name

Gibt den Namen des Objekts Bookmark zurück.

readonly name: string;

Eigenschaftswert

string

Hinweise

API-Satz: WordApiDesktop 1.4

range

Gibt ein Range Objekt zurück, das den Teil des Dokuments darstellt, der im Bookmark Objekt enthalten ist.

readonly range: Word.Range;

Eigenschaftswert

Hinweise

API-Satz: WordApiDesktop 1.4

start

Gibt die Position des Anfangszeichens der Textmarke an.

start: number;

Eigenschaftswert

number

Hinweise

API-Satz: WordApiDesktop 1.4

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Move the bookmark's start past the word "Project" without changing the document text.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name,items/end");
    paragraphRange.load("start");
    await context.sync();

    const summaryBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleSummary");
    if (!summaryBookmark) {
        console.warn("RangeSampleSummary was not found. Choose Insert bookmark first.");
        return;
    }

    const newStart = paragraphRange.start + "Project ".length;
    if (newStart >= summaryBookmark.end) {
        console.warn("The bookmark is too short. Run Set up and Insert bookmark again.");
        return;
    }

    summaryBookmark.start = newStart;
    await context.sync();
    console.log("Moved the bookmark start past 'Project '. Get bookmark details to verify the enclosed text.");
});

storyType

Gibt den Textabschnittstyp für die Textmarke zurück.

readonly storyType: Word.StoryType | "MainText" | "Footnotes" | "Endnotes" | "Comments" | "TextFrame" | "EvenPagesHeader" | "PrimaryHeader" | "EvenPagesFooter" | "PrimaryFooter" | "FirstPageHeader" | "FirstPageFooter" | "FootnoteSeparator" | "FootnoteContinuationSeparator" | "FootnoteContinuationNotice" | "EndnoteSeparator" | "EndnoteContinuationSeparator" | "EndnoteContinuationNotice";

Eigenschaftswert

Word.StoryType | "MainText" | "Footnotes" | "Endnotes" | "Comments" | "TextFrame" | "EvenPagesHeader" | "PrimaryHeader" | "EvenPagesFooter" | "PrimaryFooter" | "FirstPageHeader" | "FirstPageFooter" | "FootnoteSeparator" | "FootnoteContinuationSeparator" | "FootnoteContinuationNotice" | "EndnoteSeparator" | "EndnoteContinuationSeparator" | "EndnoteContinuationNotice"

Hinweise

API-Satz: WordApiDesktop 1.4

Details zur Methode

copyTo(name)

Kopiert diese Textmarke in die neue, im Argument angegebene name Textmarke und gibt ein Bookmark Objekt zurück.

copyTo(name: string): Word.Bookmark;

Parameter

name

string

Der Name der neuen Textmarke.

Gibt zurück

Hinweise

API-Satz: WordApiDesktop 1.4

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Create another named bookmark over the same text as the summary bookmark.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name");
    await context.sync();

    const summaryBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleSummary");
    if (!summaryBookmark) {
        console.warn("RangeSampleSummary was not found. Choose Insert bookmark first.");
        return;
    }
    if (bookmarks.items.some((bookmark) => bookmark.name === "RangeSampleCopy")) {
        console.warn("RangeSampleCopy already exists. Delete the copied bookmark before copying again.");
        return;
    }

    summaryBookmark.copyTo("RangeSampleCopy");
    await context.sync();
    console.log("Created RangeSampleCopy over the same text. Get bookmark details to inspect both names.");
});

delete()

Löscht die Textmarke.

delete(): void;

Gibt zurück

void

Hinweise

API-Satz: WordApiDesktop 1.4

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Delete the copied bookmark without deleting its text or the original bookmark.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name");
    await context.sync();

    const copiedBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleCopy");
    if (!copiedBookmark) {
        console.warn("RangeSampleCopy was not found. Choose Copy bookmark first.");
        return;
    }

    copiedBookmark.delete();
    await context.sync();
    console.log("Deleted RangeSampleCopy. Its text and RangeSampleSummary remain. Check copied bookmark to verify.");
});

load(options)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(options?: Word.Interfaces.BookmarkLoadOptions): Word.Bookmark;

Parameter

options
Word.Interfaces.BookmarkLoadOptions

Stellt Optionen für die zu ladenden Eigenschaften des Objekts bereit.

Gibt zurück

load(propertyNames)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNames?: string | string[]): Word.Bookmark;

Parameter

propertyNames

string | string[]

Eine durch Trennzeichen getrennte Zeichenfolge oder ein Array von Zeichenfolgen, die die zu ladenden Eigenschaften angeben.

Gibt zurück

load(propertyNamesAndPaths)

Stellt einen Befehl zum Laden der angegebenen Eigenschaften des Objekts in die Warteschlange ein. Vor dem Lesen der Eigenschaften müssen Sie "context.sync()" aufrufen.

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): Word.Bookmark;

Parameter

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select ist eine durch Kommas getrennte Zeichenfolge, die die zu ladenden Eigenschaften angibt, und propertyNamesAndPaths.expand eine durch Kommas getrennte Zeichenfolge, die die zu ladenden Navigationseigenschaften angibt.

Gibt zurück

select()

Markiert die Textmarke.

select(): void;

Gibt zurück

void

Hinweise

API-Satz: WordApiDesktop 1.4

Beispiele

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/35-ranges/manage-range-bookmarks.yaml

// Select the summary bookmark's current text in the document.
await Word.run(async (context) => {
    const paragraphRange: Word.Range = context.document.body.paragraphs.getFirst().getRange(Word.RangeLocation.content);
    const bookmarks: Word.BookmarkCollection = paragraphRange.bookmarks;
    bookmarks.load("items/name");
    await context.sync();

    const summaryBookmark: Word.Bookmark = bookmarks.items.find((bookmark) => bookmark.name === "RangeSampleSummary");
    if (!summaryBookmark) {
        console.warn("RangeSampleSummary was not found. Choose Insert bookmark first.");
        return;
    }

    summaryBookmark.select();
    await context.sync();
    console.log("Selected RangeSampleSummary in the document.");
});

set(properties, options)

Legt mehrere Eigenschaften eines Objekts gleichzeitig fest. Sie können entweder ein einfaches Objekt mit den entsprechenden Eigenschaften oder ein anderes API-Objekt desselben Typs übergeben.

set(properties: Interfaces.BookmarkUpdateData, options?: OfficeExtension.UpdateOptions): void;

Parameter

properties
Word.Interfaces.BookmarkUpdateData

Ein JavaScript-Objekt mit Eigenschaften, die isomorph zu den Eigenschaften des Objekts strukturiert sind, für das die Methode aufgerufen wird.

options
OfficeExtension.UpdateOptions

Bietet eine Option zum Unterdrücken von Fehlern, wenn das properties-Objekt versucht, schreibgeschützte Eigenschaften festzulegen.

Gibt zurück

void

set(properties)

Legt mehrere Eigenschaften für das Objekt gleichzeitig fest, basierend auf einem vorhandenen geladenen Objekt.

set(properties: Word.Bookmark): void;

Parameter

properties
Word.Bookmark

Gibt zurück

void

toJSON()

Überschreibt die JavaScript-Methode toJSON() , um eine nützlichere Ausgabe bereitzustellen, wenn ein API-Objekt an JSON.stringify()übergeben wird. (JSON.stringifyruft wiederum die toJSON Methode des Objekts auf, das an sie übergeben wird.) Während das ursprüngliche Word.Bookmark Objekt ein API-Objekt ist, gibt die toJSON Methode ein einfaches JavaScript-Objekt (als Word.Interfaces.BookmarkData) zurück, das flache Kopien aller geladenen untergeordneten Eigenschaften des ursprünglichen Objekts enthält.

toJSON(): Word.Interfaces.BookmarkData;

Gibt zurück

track()

Nachverfolgung des Objekts zwecks automatischer Anpassung auf der Grundlage der umgebenden Änderungen im Dokument. Dieser Aufruf ist eine Kurzform für context.trackedObjects.add(thisObject). Wenn Sie dieses Objekt aufrufübergreifend .sync und außerhalb der sequenziellen Ausführung eines ".run"-Batches verwenden und beim Festlegen einer Eigenschaft oder beim Aufrufen einer Methode für das Objekt ein "InvalidObjectPath"-Fehler angezeigt wird, müssen Sie das Objekt der nachverfolgten Objektsammlung hinzufügen, wenn das Objekt zum ersten Mal erstellt wurde. Wenn dieses Objekt Teil einer Sammlung ist, sollten Sie auch die übergeordnete Sammlung nachverfolgen.

track(): Word.Bookmark;

Gibt zurück

untrack()

Gibt den diesem Objekt zugewiesenen Arbeitsspeicher frei, wenn das Objekt zuvor nachverfolgt wurde. Dieser Aufruf ist die Kurzform für context.trackedObjects.remove(thisObject). Viele nachverfolgte Objekte verlangsamen die Ausführung der Hostanwendung, also achten Sie darauf, alle hinzugefügten Objekte nach abgeschlossener Verwendung freizugeben. Sie müssen einen Aufruf durchführen context.sync() , bevor die Speicherfreigabe wirksam wird.

untrack(): Word.Bookmark;

Gibt zurück