4

The Evaluate > EvaluateNotebook evaluates the whole notebook.

Is it possible to somehow evaluate ONLY the open sections of a notebook?

my account_ram
  • 2,158
  • 11
  • 25

1 Answers1

4

This will only work if you have all open cells also grouped. Generate, for example

Cell[CellGroupData[{Cell["test3", "Section"], Cell[BoxData[\(3 - 3\)], 
              "Input"]}, Open]]}] // NotebookPut

Then, generate a palette like this:

CreatePalette[Button["Eval Open", 
   Module[{r, n = SelectedNotebook[]}, 
    SelectionMove[n, Before, Notebook]; 
     While[SelectionMove[n, Next, CellGroup]; 
       r = NotebookRead[n]; MatchQ[r, 
        Cell[CellGroupData[_, _]]], 
      If[MatchQ[r, Cell[CellGroupData[__, Open]]], 
       Print["nu"]; SelectionEvaluate[n]]]]]]

Then, click on the first notebook. Subsequently click on the button and be surprised.

Rolf Mertig
  • 17,172
  • 1
  • 45
  • 76