OneNote.Section class  
表示 OneNote 分区。 分区可包含页面。
注解
属性
| client | 分区的客户端 url。 | 
| context | 与 对象关联的请求上下文。 这会将加载项的进程连接到 Office 主机应用程序的进程。 | 
| id | 获取分区的 ID。 | 
| is | 如果此部分使用密码加密,则为 True。 | 
| is | 如果此部分已锁定,则为 True。 | 
| name | 获取分区的名称。 | 
| notebook | 获取包含分区的笔记本。 | 
| pages | 分区中的页面集合。 | 
| parent | 获取包含分区的分区组。 如果分区是笔记本的直接子级,则引发 ItemNotFound。 | 
| parent | 获取包含分区的分区组。 如果分区是笔记本的直接子级,则返回 null。 只读。 | 
| web | 页面的 Web URL。 | 
方法
| add | 添加新页面至分区结尾。 | 
| copy | 将此分区复制到指定的笔记本。 | 
| copy | 将此分区复制到指定的分区组。 | 
| get | 获取 REST API ID。 | 
| insert | 在当前分区之前或之后插入一个新的分区。 | 
| insert | 在当前分区之前或之后插入一个新的分区。 | 
| load(options) | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用  | 
| load(property | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用  | 
| load(property | 将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用  | 
| toJSON() | 重写 JavaScript  | 
| track() | 根据文档中的相应更改来跟踪对象,以便进行自动调整。 此调用是 context.trackedObjects.add (thisObject) 的简写。 如果跨  | 
| untrack() | 释放与此对象关联的内存(如果先前已跟踪过)。 此调用是 context.trackedObjects.remove (thisObject) 的简写。 拥有许多跟踪对象会降低主机应用程序的速度,因此请在使用完毕后释放所添加的任何对象。 在内存发布生效之前,需要调用  | 
属性详细信息
		clientUrl
	 
	
context
id
		isEncrypted
	 
	
		isLocked
	 
	
name
notebook
pages
分区中的页面集合。
readonly pages: OneNote.PageCollection;属性值
注解
		parentSectionGroup
	  
	获取包含分区的分区组。 如果分区是笔记本的直接子级,则引发 ItemNotFound。
readonly parentSectionGroup: OneNote.SectionGroup;属性值
注解
		parentSectionGroupOrNull
	   
	获取包含分区的分区组。 如果分区是笔记本的直接子级,则返回 null。 只读。
readonly parentSectionGroupOrNull: OneNote.SectionGroup;属性值
注解
		webUrl
	 
	
方法详细信息
		addPage(title)
	 
	添加新页面至分区结尾。
addPage(title: string): OneNote.Page;参数
- title
- 
				string 
新页面的标题。
返回
注解
示例
await OneNote.run(async (context) => {
            
    // Queue a command to add a page to the current section.
    const page = context.application.getActiveSection().addPage("Wish list");
            
    // Queue a command to load the id and title of the new page.
    // This example loads the new page so it can read its properties later.
    page.load('id,title');
            
    // Run the queued commands, and return a promise to indicate task completion.
    await context.sync();
             
    // Display the properties.
    console.log("Page name: " + page.title);
    console.log("Page ID: " + page.id);
});
		copyToNotebook(destinationNotebook)
	  
	将此分区复制到指定的笔记本。
copyToNotebook(destinationNotebook: OneNote.Notebook): OneNote.Section;参数
- destinationNotebook
- OneNote.Notebook
要将此分区复制到的笔记本。
返回
注解
示例
await OneNote.run(async (context) => {
    const app = context.application;
    
    // Gets the active Notebook.
    const notebook = app.getActiveNotebook();
    
    // Gets the active Section.
    const section = app.getActiveSection();
    
    let newSection;
    
    await context.sync();
    newSection = section.copyToNotebook(notebook);
    newSection.load('id');
    await context.sync();
    
    console.log(newSection.id);
});
		copyToSectionGroup(destinationSectionGroup)
	    
	将此分区复制到指定的分区组。
copyToSectionGroup(destinationSectionGroup: OneNote.SectionGroup): OneNote.Section;参数
- destinationSectionGroup
- OneNote.SectionGroup
要将此分区复制到的分区组。
返回
注解
示例
await OneNote.run(async (context) => {
    const app = context.application;
    
    // Gets the active Notebook.
    const notebook = app.getActiveNotebook();
    
    // Gets the active Section.
    const section = app.getActiveSection();
    
    let newSection;
    
    await context.sync();
    const firstSectionGroup = notebook.sectionGroups.items[0];
    newSection = section.copyToSectionGroup(firstSectionGroup);
    newSection.load('id');
    await context.sync();
    
    console.log(newSection.id);
});
		getRestApiId()
	   
	获取 REST API ID。
getRestApiId(): OfficeExtension.ClientResult<string>;返回
OfficeExtension.ClientResult<string>
注解
示例
await OneNote.run(async (context) => {
    // Get the current section.
    const section = context.application.getActiveSection();
    const restApiId = section.getRestApiId();
    await context.sync();
    console.log("The REST API ID is " + restApiId.value);
    // Note that the REST API ID isn't all you need to interact with the OneNote REST API.
    // This is only required for SharePoint notebooks. baseUrl will be null for OneDrive notebooks.
    // For SharePoint notebooks, the notebook baseUrl should be used to talk to the 
    // OneNote REST API according to the OneNote Development Blog.
    // https://free.blessedness.top/archive/blogs/onenotedev/and-sharepoint-makes-three
});
		insertSectionAsSibling(location, title)
	  
	在当前分区之前或之后插入一个新的分区。
insertSectionAsSibling(location: OneNote.InsertLocation, title: string): OneNote.Section;参数
- location
- OneNote.InsertLocation
相对于当前分区的新分区的位置。
- title
- 
				string 
新节的名称。
返回
注解
		insertSectionAsSibling(location, title)
	  
	在当前分区之前或之后插入一个新的分区。
insertSectionAsSibling(location: "Before" | "After", title: string): OneNote.Section;参数
- location
- 
				"Before" | "After" 
相对于当前分区的新分区的位置。
- title
- 
				string 
新节的名称。
返回
注解
示例
await OneNote.run(async (context) => {
            
    // Queue a command to insert a section after the current section.
    const section = context.application.getActiveSection().insertSectionAsSibling("After", "New section");
            
    // Queue a command to load the id and name of the new section.
    // This example loads the new section so it can read its properties later.
    section.load('id,name');
            
    // Run the queued commands, and return a promise to indicate task completion.
    await context.sync();
             
    // Display the properties.
    console.log("Section name: " + section.name);
    console.log("Section ID: " + section.id);
});
load(options)
将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()。
load(options?: OneNote.Interfaces.SectionLoadOptions): OneNote.Section;参数
提供要加载对象的属性的选项。
返回
		load(propertyNames)
	 
	将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()。
load(propertyNames?: string | string[]): OneNote.Section;参数
- propertyNames
- 
				string | string[] 
逗号分隔的字符串或指定要加载的属性的字符串数组。
返回
示例
await OneNote.run(async (context) => {
        
    // Get the current section.
    const section = context.application.getActiveSection();
            
    // Queue a command to load the section.
    // For best performance, request specific properties.
    section.load("id");
            
    // Run the queued commands, and return a promise to indicate task completion.
    await context.sync();
    console.log("Section ID: " + section.id);
});
		load(propertyNamesAndPaths)
	   
	将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()。
load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): OneNote.Section;参数
- propertyNamesAndPaths
- 
				{ select?: string; expand?: string; } 
              propertyNamesAndPaths.select 是一个逗号分隔的字符串,指定要加载的属性,是 propertyNamesAndPaths.expand 一个逗号分隔的字符串,指定要加载的导航属性。
返回
toJSON()
重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 
              JSON.stringify
               (,依次调用toJSON传递给它的 对象的 方法。) 虽然原始OneNote.Section对象是 API 对象,toJSON但该方法返回一个纯 JavaScript 对象, (类型为 OneNote.Interfaces.SectionData) ,其中包含从原始对象加载的任何子属性的浅表副本。
toJSON(): OneNote.Interfaces.SectionData;返回
track()
根据文档中的相应更改来跟踪对象,以便进行自动调整。 此调用是 context.trackedObjects.add (thisObject) 的简写。 如果跨 .sync 调用和“.run”批处理的顺序执行外部使用此对象,并在设置属性或调用对象方法时收到“InvalidObjectPath”错误,则需要在首次创建对象时将该对象添加到跟踪的对象集合。
track(): OneNote.Section;返回
untrack()
释放与此对象关联的内存(如果先前已跟踪过)。 此调用是 context.trackedObjects.remove (thisObject) 的简写。 拥有许多跟踪对象会降低主机应用程序的速度,因此请在使用完毕后释放所添加的任何对象。 在内存发布生效之前,需要调用 context.sync() 。
untrack(): OneNote.Section;