Edit

Office.GoToByIdOptions interface

Provides options for whether to select the location that is navigated to.

Remarks

The behavior caused by the options.selectionMode option varies by Office application:

In Excel: Office.SelectionMode.Selected selects all content in the binding, or named item. Office.SelectionMode.None for text bindings, selects the cell; for matrix bindings, table bindings, and named items, selects the first data cell (not first cell in header row for tables).

In PowerPoint: Office.SelectionMode.Selected selects the slide title or first textbox on the slide. Office.SelectionMode.None doesn't select anything.

In Word: Office.SelectionMode.Selected selects all content in the binding. Office.SelectionMode.None for text bindings, moves the cursor to the beginning of the text; for matrix bindings and table bindings, selects the first data cell (not first cell in header row for tables).

Used by

Examples

// Go to a binding by ID (Word and Excel).
// The following example shows how to:
// 1. Create a table binding using the addFromSelectionAsync method as a sample binding to work with.
// 2. Specify that binding as the binding to go to.
// 3. Pass an anonymous callback function that returns the status of the operation
//    to the callback parameter of the goToByIdAsync method.
// 4. Display the value on the add-in's page.
function gotoBinding() {
    // Create a new table binding for the selected table.
    Office.context.document.bindings.addFromSelectionAsync(Office.BindingType.Table, { id: "MyTableBinding" }, function (asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            console.error("Action failed with error: " + asyncResult.error.message);
        } else {
            console.log("Added new binding with type: " + asyncResult.value.type + " and ID: " + asyncResult.value.id);
        }
    });

    // Go to binding by ID, setting option to ensure entire binding is selected.
    let goToByIdOptions: Office.GoToByIdOptions = {
        selectionMode: Office.SelectionMode.Selected
    };
    Office.context.document.goToByIdAsync("MyTableBinding", Office.GoToType.Binding, goToByIdOptions, function (asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            console.error("Action failed with error: " + asyncResult.error.message);
        } else {
            console.log("Navigation successful");
        }
    });
}

// Go to a table in a spreadsheet (Excel).
// The following example shows how to:
// 1. Specify a table by name as the table to go to.
// 2. Pass an anonymous callback function that returns the status of the operation
//    to the callback parameter of the goToByIdAsync method.
// 3. Display the value on the add-in's page.
function goToTable() {
    Office.context.document.goToByIdAsync("Table1", Office.GoToType.NamedItem, function (asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            console.error("Action failed with error: " + asyncResult.error.message);
        } else {
            console.log("Navigation successful");
        }
    });
}

// Go to the currently selected slide by ID (PowerPoint).
// The following example shows how to:
// 1. Get the ID of the currently selected slides using the getSelectedDataAsync method.
// 2. Specify the returned ID as the slide to go to.
// 3. Pass an anonymous callback function that returns the status of the operation
//    to the callback parameter of the goToByIdAsync method.
// 4. Display the value of the stringified JSON object returned by asyncResult.value,
//    which contains information about the selected slides, on the add-in's page.
let firstSlideId = 0;
function gotoSelectedSlide() {
    // Get currently selected slide's ID.
    Office.context.document.getSelectedDataAsync(Office.CoercionType.SlideRange, function (asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            console.error("Action failed with error: " + asyncResult.error.message);
        } else {
            firstSlideId = asyncResult.value.slides[0].id;
            console.log(JSON.stringify(asyncResult.value));
        }
    });
    
    // Go to slide by ID.
    Office.context.document.goToByIdAsync(firstSlideId, Office.GoToType.Slide, function (asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            console.error("Action failed with error: " + asyncResult.error.message);
        } else {
            console.log("Navigation successful");
        }
    });
}

// Go to slide by index (PowerPoint).
// The following example shows how to:
// 1. Specify the index of the first, last, previous, or next slide to go to.
// 2. Pass an anonymous callback function that returns the status of the operation
//    to the callback parameter of the goToByIdAsync method.
// 3. Display the value on the add-in's page.
function goToSlideByIndex() {
    const goToFirst = Office.Index.First;
    const goToLast = Office.Index.Last;
    const goToPrevious = Office.Index.Previous;
    const goToNext = Office.Index.Next;

    Office.context.document.goToByIdAsync(goToNext, Office.GoToType.Index, function (asyncResult) {
        if (asyncResult.status === Office.AsyncResultStatus.Failed) {
            console.error("Action failed with error: " + asyncResult.error.message);
        } else {
            console.log("Navigation successful");
        }
    });
}

Properties

asyncContext

A user-defined item of any type that is returned, unchanged, in the asyncContext property of the AsyncResult object that is passed to a callback.

selectionMode

Specifies whether the location specified by the id parameter is selected (highlighted). Use Office.SelectionMode or string equivalent. See the Remarks for more information.

Property Details

asyncContext

A user-defined item of any type that is returned, unchanged, in the asyncContext property of the AsyncResult object that is passed to a callback.

asyncContext?: any

Property Value

any

selectionMode

Specifies whether the location specified by the id parameter is selected (highlighted). Use Office.SelectionMode or string equivalent. See the Remarks for more information.

selectionMode?: Office.SelectionMode | string

Property Value