OneNote Extension-Main API

2022-09-21 10:28:36 浏览数 (1)

  • Environment Setup

  • Main API Usage
    • Host-Specfic API Usage

Environment Setup

Official Guide

Main API Usage

There are 2 types of main API:

  1. host-specific API: able to access oneNote related contents, such as section, page details
  2. Common API: able to access Office related contents, such as selected content , font and other software common details.

Host-Specfic API Usage

  1. Access application instance
  2. Create proxy
  3. Implement this proxy to do load action, this action will be push push into queue, but will NOT execute immediately
  4. Invoke context.sync to execute the events in the queue.
代码语言:javascript复制
function getPagesInSection() {
  OneNote.run((context) => {
    // 1. Access API via context.application, access pages details from getActiveSection()
    var pages = context.application.getActiveSection().pages;

    // 2. load the page id & title, but will NOT execute immediately 
    pages.load('id,title');

    // 3. Async function, execute the events in the queue
    return context.sync()
      .then(() => {

        // 4 Access the id & title
        for (let page of pages.items) {
          var pageId = page.id;
          var pageTitle = page.title;
          console.log(pageTitle   ': '   pageId);
        }
      })
      .catch((error) => {
        console.log("Error: "   error);
        if (error instanceof OfficeExtension.Error) {
          console.log("Debug info: "   JSON.stringify(error.debugInfo));
        }
      });
  });
}

Common API Usage

代码语言:javascript复制
function getSelectedText() {
  // Access the mouse selected text
  Office.context.document.getSelectedDataAsync(
    Office.CoercionType.Text, {
      valueFormat: "unformatted"
    },
    function(asyncResult) {
      var error = asyncResult.error;
      if (asyncResult.status === Office.AsyncResultStatus.Failed) {
        console.log(error.message);
      } else console.log(asyncResult.value);
    });
}

0 人点赞