Rows of a table containing a search word

Get help using and writing Nisus Writer Pro macros.
Post Reply
js
Posts: 259
Joined: 2007-04-12 14:59:36

Rows of a table containing a search word

Post by js »

To get (the text of) the rows of a table that contain a search word: Is it necessary to transform the table into text, or can one obtain the rows directly?
User avatar
martin
Official Nisus Person
Posts: 5227
Joined: 2002-07-11 17:14:10
Location: San Diego, CA
Contact:

Re: Rows of a table containing a search word

Post by martin »

You do not need to convert the table to text; the macro language lets you work with table cell text directly. Assuming the selection currently rests in a table, here's a macro that tells you a little bit about the selected table:

Code: Select all

# Get the first table selection
$selection = TableSelection.active
If ! $selection
	Prompt 'This macro only works if some part of a table is already selected.'
	Exit
End
$selectedRow = $selection.rowRange.location # first selected row
$selectedCol = $selection.columnRange.location

# get the table that is selected, and inspect some cells
$table = $selection.table
$firstCellText = $table.textAtRowAndColumn(0,0)
$firstSelectedCellText = $table.textAtRowAndColumn($selectedRow,$selectedCol)
Prompt "The text of the first selected cell: $firstSelectedCellText", "The text in the first cell of the table is $firstCellText"
js
Posts: 259
Joined: 2007-04-12 14:59:36

Re: Rows of a table containing a search word

Post by js »

But how about text formatting? I can see from your example how to retrieve unattributed text from individual cells. But what I need is complete rows that have a sear word in one of the cells, with formatting. Would this be easier by first transforming the table into text?
Kino
Posts: 400
Joined: 2008-05-17 04:02:32

Re: Rows of a table containing a search word

Post by Kino »

js wrote:But how about text formatting? I can see from your example how to retrieve unattributed text from individual cells.
Those variables are attributed text. It is Prompt command that shows them as plain text. Try to output them to a new file, for example.
But what I need is complete rows that have a sear word in one of the cells, with formatting.
It is your way of describing the problem that confused Martin, I think. If you had asked simply “How to get (the text of) the rows of a table that contain a search word?”, then you should have got something like this.

Code: Select all

Menu ':Table:Select:Rows'
Menu ':Table:Copy Table Text'
which will put the text in the clipboard.
js
Posts: 259
Joined: 2007-04-12 14:59:36

Re: Rows of a table containing a search word

Post by js »

Thank you Kino. Next time I will try to make myself better understood.
Post Reply