NotebookCollection Object (JavaScript API for OneNote)
Applies to: OneNote Online
Represents a collection of notebooks.
Properties
| Property | Type | Description | Feedback |
|---|---|---|---|
| count | int | Returns the number of notebooks in the collection. Read-only. | Go |
| items | Notebook[] | A collection of notebook objects. Read-only. | Go |
See property access examples.
Relationships
None
Methods
| Method | Return Type | Description | Feedback |
|---|---|---|---|
| getByName(name: string) | NotebookCollection | Gets the collection of notebooks with the specified name that are open in the application instance. | Go |
| getItem(index: number or string) | Notebook | Gets a notebook by ID or by its index in the collection. Read-only. | Go |
| getItemAt(index: number) | Notebook | Gets a notebook on its position in the collection. | Go |
| load(param: object) | void | Fills the proxy object created in JavaScript layer with property and object values specified in the parameter. | Go |
Method Details
getByName(name: string)
Gets the collection of notebooks with the specified name that are open in the application instance.
Syntax
notebookCollectionObject.getByName(name);
Parameters
| Parameter | Type | Description |
|---|---|---|
| name | string | The name of the notebook. |
Returns
Examples
OneNote.run(function (context) {
// Get the notebooks that are open in the application instance and have the specified name.
var notebooks = context.application.notebooks.getByName("Homework");
// Queue a command to load the notebooks.
// For best performance, request specific properties.
notebooks.load("id,name");
// Run the queued commands, and return a promise to indicate task completion.
return context.sync()
.then(function () {
// Iterate through the collection or access items individually by index, for example: notebooks.items[0]
if (notebooks.items.length > 0) {
console.log("Notebook name: " + notebooks.items[0].name);
console.log("Notebook ID: " + notebooks.items[0].id);
}
});
})
.catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
getItem(index: number or string)
Gets a notebook by ID or by its index in the collection. Read-only.
Syntax
notebookCollectionObject.getItem(index);
Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number or string | The ID of the notebook, or the index location of the notebook in the collection. |
Returns
getItemAt(index: number)
Gets a notebook on its position in the collection.
Syntax
notebookCollectionObject.getItemAt(index);
Parameters
| Parameter | Type | Description |
|---|---|---|
| index | number | Index value of the object to be retrieved. Zero-indexed. |
Returns
load(param: object)
Fills the proxy object created in JavaScript layer with property and object values specified in the parameter.
Syntax
object.load(param);
Parameters
| Parameter | Type | Description |
|---|---|---|
| param | object | Optional. Accepts parameter and relationship names as delimited string or an array. Or, provide loadOption object. |
Returns
void
Property access examples
items
OneNote.run(function (context) {
// Get the notebooks that are open in the application instance and have the specified name.
var notebooks = context.application.notebooks.getByName("Homework");
// Queue a command to load the notebooks.
// For best performance, request specific properties.
notebooks.load("id");
// Run the queued commands, and return a promise to indicate task completion.
return context.sync()
.then(function () {
// Iterate through the collection or access items individually by index, for example: notebooks.items[0]
$.each(notebooks.items, function(index, notebook) {
notebook.addSection("Biology");
notebook.addSection("Spanish");
notebook.addSection("Computer Science");
});
return context.sync();
});
})
.catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});