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.

ReferenceReference

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

EvaluationBox  ▪  ParentBox

Operations on Complete Notebooks

Options, SetOptions, CurrentValue get or set any option of any notebook object

NotebookInformation information on open notebooks

SetSelectedNotebook  ▪  NotebookClose  ▪  NotebookSave  ▪  NotebookPrint

Symbolic Notebook Structure »

NotebookGet get the symbolic representation of a displayed notebook

NotebookPut display the notebook corresponding to a symbolic expression

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