10

Is there a way to "lock" some cells in a notebook so they can't be edited? It's usually input cell that's documenting some functionality. I'd like other readers of the notebook to be able to execute them but not changing them.

user13253
  • 8,666
  • 2
  • 42
  • 65

2 Answers2

10

Suppose you have an open notebook, say "Untitled-1". The following code, executed in the same notebook or another, will select all the Input cells and set them to un-Editable and un-Evaluatable.

nb = First[Notebooks["Untitled-1"]];
inputCells = NotebookFind[nb,
  "Input", All, CellStyle];
SetOptions[inputCells, 
  Evaluatable -> False,
  Editable -> False]
Mark McClure
  • 32,469
  • 3
  • 103
  • 161
10

If you want to make some cell non editable, mark these cells and use the menu entry

Cell -> CellProperties

and remove the mark before Editable.

If your cell is an Input-Cell, it can be evaluated but not edited.

Peter Breitfeld
  • 5,182
  • 1
  • 24
  • 32
  • 2
    For extra protection, before making the cell not Editable, you may wish to make it not Deletable. To do so, select the cell, open the Option Inspector, and uncheck Deletable in the Cell Options > General Properties section. (And while you're there you can then also uncheck Editable.) – murray Nov 01 '12 at 20:30
  • @murray, nice tip. I wasn't aware of the Deletable option. – Peter Breitfeld Nov 02 '12 at 09:38
  • And as I learned when I first tried it, you must make a cell non-Deletable before you make it non-Editable! – murray Nov 02 '12 at 13:45