Quick AppleScript to get a Reminders list to TextEdit for printing

Damn cannot print a Reminders list for the store. Who doesn’t think to add printing?

@steveriggins

I need this capability for the same reason (shared food shopping list is in a shared Reminders list and because of COVID-19 will eventually go shopping without wanting to touch my phone while there). So I hacked together a quick AppleScript to grab all the not-yet-completed items from a list in Reminders and put the name of each reminder prefixed with “[ ] ” as a single line in a new TextEdit document (adding the notes for a reminder is left as an easy exercise for the reader 😉 ).

Here it is as a gist for easy use. And here’s a Feedback issue number if you’d like to report it and add a vote for Apple to fix this: FB7646521

tell application "Reminders"
  set listNames to {}
  repeat with aList in lists
    copy name of aList to end of listNames
  end repeat
  set listName to choose from list listNames with prompt "Select the list to print:"
  
  -- now find list object for the choosen list
  set listToPrint to ""
  repeat with aList in lists
    if name of aList as string is equal to listName as string then
      set listToPrint to aList
      exit repeat
    end if
  end repeat
  
  -- log name of listToPrint as string
  
  -- get a list of the names of all the reminders
  set listItems to reminders of listToPrint
  set reminderStrings to {}
  repeat with aReminder in listItems
    if aReminder is not completed then
      set reminderText to name of aReminder as string
      copy ("[ ]  " & reminderText) to end of reminderStrings
    end if
  end repeat
  
  -- make a single string out of the list of reminders
  set TID to AppleScript's text item delimiters
  set AppleScript's text item delimiters to "
"
  set listText to reminderStrings as text
  set AppleScript's text item delimiters to TID
  log listText
  
  set listText to ((name of listToPrint as string) & return & return & listText)
  
  -- make a new text edit document to print
  tell application "TextEdit"
    make new document
    set text of front document to listText
    -- prints to your default printer
    -- commented out since you may want to set formatting first.
    -- print front document
  end tell
end tell

7 thoughts on “Quick AppleScript to get a Reminders list to TextEdit for printing”

  1. Damn, I ran into this same issue just the other day. My response was also “how lame that they don’t support printing.”

    1. 🙂 well, for next time you might try this.

      I just added the Feedback number of my bug report to the post if you’d like to duplicate it…

      1. I had a big shop to do today, so finally got around to trying this script. With a big list it seems painfully slow (takings minutes and minutes in my case–I finally gave up!), likely related to the length of the list, whether items are completed or not. I don’t know if this is something specific to the Reminders app, or whether AppleScript performance of Catalyst apps is just really bad in general. So perhaps the screenshot idea isn’t so bad after all. I had visions of converting the script to output to a Note instead of TextEdit, but given the item iteration performance, I’m not sure it’s worth it.

      2. Yes, it’s slow. Reminders takes a *long* time to reply for each item fetched. Not sure why. I went through and deleted all the old completed items in the list and it went a lot faster. If you can copy the uncompleted items to a new list that has only them it might help. But yah, I’ve meant to file a bug with Reminders about how slow they are in responding to getting an item’s info but haven’t gotten to it yet.

        I don’t think macOS Reminders is a Catalyst app? How do you tell for sure? I’m seeing LSRequiresIPhoneOS-iphoneos in some (Home.app) but not others (Stocks.app), though those both have “iphone” in various places in their info.plists which makes me pretty sure they are. Not seeing that in Reminders. Curious.

      3. Ah, suppose you’re right. I’ve been thinking it as was a Catalyst app because it seems so… lame. Apart from no ability to print lists, no ability to copy lists to text, there are other things missing: like no way on the Mac version to show to hide completed items: I have to go to the iOS version to do that?! On the other hand, I use the app a fair amount! 🙂

      4. I too use it a lot and so it needs to get better 🙂

        Does have a *lot* of issues. I’ve reported at least a dozen to Apple. Had a team lead contact me and ask for the list and they said they were going to “hand them out to the team and get them fixed”. I get the impression they were overloaded or had staff size problems but want it to be better. Time will tell I guess.

        I have a “Show” ‘button’ (word) that becomes “Hide” in the upper right above below the total count in the list (macOS 10.15.4, Reminders 7.0 (2079)).

        I’ve reported the copy and paste issues, the dragging issues, side bar show/hide issue, min window size too big issue, no drag and drop of list items to other apps (as formatted text, OPML, plain text), and a bunch of others. Please report the things you don’t like either and maybe we can get them to make it a “Real” Mac app… 🙂

  2. On the other hand, taking a screenshot and printing that works also and would have been a LOT less time consuming than wrestling with AppleScript 🤦‍♂️

    Programmers, everything is a nail…

Leave a Reply to Dad Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s