Low-Level Notebook Programming
In the Wolfram Language's unified symbolic architecture, every Wolfram Language notebook you see is represented as a symbolic expression that can be manipulated and controlled programmatically using the Wolfram Language. The Wolfram Language's low-level notebook programming functions give direct incremental access to notebook expressions, allowing you successively to perform arbitrary operations on the "selection" in any notebook.
Notebook Handles
Notebooks — a list of open notebooks (NotebookObject objects)
SelectedNotebook ▪ EvaluationNotebook ▪ InputNotebook ▪ ButtonNotebook ▪ ParentNotebook
NotebookLocate — locate a notebook, a web notebook, or a tag in a notebook
NotebookFileName ▪ NotebookDirectory
Cell Handles
Cells — a list of cells in a given notebook (CellObject objects)
SelectedCells ▪ EvaluationCell ▪ ParentCell ▪ NextCell ▪ PreviousCell
Boxes
BoxObject — object representing an individual box
Operations on Complete Notebooks
Options, SetOptions, CurrentValue — get or set any option of any notebook object
NotebookInformation — information on open notebooks
NotebookOpen ▪ SetSelectedNotebook ▪ NotebookClose ▪ NotebookSave ▪ NotebookPrint
NotebookImport — import structured material from a notebook
Symbolic Notebook Structure »
NotebookGet — get the symbolic representation of a displayed notebook
NotebookPut — display the notebook corresponding to a symbolic expression
CreateWindow — create a new notebook window with a given set of options
Notebook ▪ Cell ▪ RowBox ▪ ButtonBox ▪ GridBox ▪ ...
Modifying Notebook Contents
NotebookFind — find a structure within a notebook
SelectionMove — move the selection in a notebook
NotebookRead — read the current selection as a symbolic expression
NotebookWrite, NotebookApply — write, apply content at the current selection
NotebookDelete — delete the current selection
ShowSelection ▪ Visible ▪ AutoScroll
NotebookSelection — a handle to a selection in a notebook
SelectionEvaluate ▪ SelectionCreateCell
Global Front End Operations »
FrontEndTokenExecute — execute a menu-like front end command
$FrontEnd ▪ $FrontEndSession ▪ FrontEndEventActions ▪ ...
FrontEndExecute — send an expression to be executed by the front end