Re: Loop through a notebook
- To: mathgroup at smc.vnet.net
- Subject: [mg31718] Re: [mg31662] Loop through a notebook
- From: Omega Consulting <omega_consulting at yahoo.com>
- Date: Wed, 28 Nov 2001 01:29:43 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
At 04:46 AM 11/23/2001, Adam BOUCHTA wrote: >How does one loop through a notebook which contains sections, subsections, >etc.? > >A for or do-loop do not work... > > > >/Adam. It depends on why you want to loop through the notebook. Often, what you really want is some way to act on different parts of a notebook. This can be done by getting the notebook, modifying it and putting it back out. This is often easier to program and faster than a loop. For example, to remove all output from a nb cont = NotebookGet[nb]; cont = DeleteCases[cont, Cell[_, "Output"|"Print"|"Graphics", ___], Infinity]; NotebookPut[cont, nb] If you really want or need a loop, then it's just a matter of SelectionMove. SelectionMove[nb, Before, Notebook, AutoScroll->False]; SelectionMove[nb, Next, Cell, AutoScroll->False]; cont = NotebookRead[nb]; While[cont=!={}, SelectionMove[nb, Next, Cell, AutoScroll->False]; cont = NotebookRead[nb]; If[MatchQ[cont, Cell[_, "Output"|"Print"|"Graphics", ___]], NotebookDelete[nb] ] ] -------------------------------------------------------------- Omega Consulting "The final answer to your Mathematica needs" Spend less time searching and more time finding. http://www.wz.com/internet/Mathematica.html