View Single Post
Michael, I was looking for the same capability. Here is a script that I wrote to do that. Derek was a HUGE help in getting this done.


tell application "OmniOutliner Professional"
tell front document
repeat with theRow in (every row whose state is checked)
-- change "done" to the name of your done column
set theDate to value of cell "Done" of theRow
if theDate is missing value then
if (value of cell "Due Date" of theRow is not missing value) then
set value of cell "Done" of theRow to "today"
-- change "due" to the name of the due column
set value of cell "Due Date" of theRow to missing value
remove every named style of style of theRow from named styles of style of theRow
set myStyle to named style ("DoneItem")
add myStyle to named styles of style of theRow
end if
end if
end repeat
set TodaysDate to current date
repeat with theRow in (every row whose state is unchecked)
set theDate to value of cell "Due Date" of theRow
if theDate is not missing value then
remove every named style of style of theRow from named styles of style of theRow
set myStyle to named style ("Overdue")
if theDate < TodaysDate then
add myStyle to named styles of style of theRow
else
remove myStyle from named styles of style of theRow
end if
else
-- missing value but unchecked (means I forgot to set a date)
remove every named style of style of theRow from named styles of style of theRow
set myStyle to named style ("Blankdue")
add myStyle to named styles of style of theRow
end if
end repeat
end tell
beep 3
end tell