View Single Post
Here's an AppleScript that will take a simple text object and create multiple text objects which represent all it's lines.

I use this to paste in a list of site map objects from (eg.) an email or a spreadsheet, and quickly generate separate text objects for me to then join up.

If I have a very long nested list I'll instead import into OmniOutliner, save as an outline, then open in OmniGraffle, create the outline, and copy/paste into my real document. As you can see, that path isn't worth it for a dozen lines or so.

tell application id "OGfl"
	tell front window
		set theSelection to the selection
		set theItem to item 1 of theSelection
		set theText to (text of theItem) as text
		set theSize to size of theItem
		set theHeight to item 2 of theSize
		set theOrigin to the origin of theItem
	end tell
	set theDown to (item 2 of theOrigin) + theHeight
	set theRight to item 1 of theOrigin
	set theLines to paragraphs of theText
	set numLines to length of theLines
	repeat with lineNo from 1 to numLines
		set theDown to theDown + 16
		set theOrigin to {theRight, theDown}
		set theLine to item lineNo of theLines
		tell canvas of front window
			make new shape at end of graphics with properties {draws stroke:false, fill:no fill, origin:theOrigin, vertical padding:0, autosizing:full, size:{180.0, 13.0}, text:{text:theLine, size:11}, side padding:1, draws shadow:false}
		end tell
	end repeat
end tell