-- Make sure a presentation is opened in Keynote. If not, notify the user and stop. tell application "Keynote" if (front slideshow exists) = false then display alert "Unable to proceed." message "Please open a presentation in Keynote." return end if set extractBody to button returned of (display alert "Would you like to extract slide content too?" buttons {"Yes", "No"}) = "Yes" -- Target the front presentation. tell front slideshow -- Get the name of the presentation. set thePresentationName to name -- Retrieve the titles of all slides. set theTitles to title of every slide if extractBody = true then set theBodyText to body of every slide end if -- Retrieve the presenter notes for all slides. set theNotes to notes of every slide end tell end tell -- Prepare the notes as HTML. set theFormattedNotes to "

" & "Keynote Presentation: " & thePresentationName & "

" & return repeat with a from 1 to length of theTitles set theFormattedNotes to theFormattedNotes & "

Slide #" & a & "

" & return set theFormattedNotes to theFormattedNotes & "Title: " & item a of theTitles & "" & return & return if extractBody = true then set theFormattedNotes to theFormattedNotes & "Body: " & item a of theBodyText & return & return end if set theFormattedNotes to theFormattedNotes & "Presenter Notes: " & item a of theNotes & return & return end repeat set theFormattedNotes to theFormattedNotes & "" -- Replace any returns with line breaks. set AppleScript's text item delimiters to {return, ASCII character 10} set theFormattedNotes to text items of theFormattedNotes set AppleScript's text item delimiters to "
" set theFormattedNotes to theFormattedNotes as string set AppleScript's text item delimiters to "" -- Create the note in Evernote. tell application "Evernote" activate set theNote to create note notebook "Inbox" title thePresentationName with html theFormattedNotes open note window with theNote end tell