I have no idea why but I completely missed this reply back when it was first made. My apologies.
In the intervening year I had a pro make this script for me which I’m happy to share with everyone.
Unfortunately, It is now throwing this error so its useless to me at present: error “sh: line 54: /usr/local/bin/dayone: No such file or directory” number 127
My main machine died recently so I’m running this script on a borrowed laptop til I get a new machine in. What’s odd is I ran the script without any difficulties once I believe in this setup.
I get the same error when I try to run the single day script at http://jeredb.com/omnifocus-to-day-one-daily-log-of-completed-tasks
All of my inquiries with the guy who created it have gone completely ignored, so I’m not holding my breath on any help from him, but perhaps here…
// USER SWITCHES (YOU CAN CHANGE THESE!)
--CHANGE 'make_Title' TO 'TRUE' TO GENERATE REPORT TITLE HEADER
--(YOU CAN CHANGE TEXT IN 'SET THE REPORT TITLE' SECTION OF MAIN PROGRAM
property make_Title : true
--CHANGE 'num_Days' TO DESIRED DATE RANGE (DEFAULT IS 7 DAYS)
property num_Days : 7
// OTHER PROPERTIES (USE CAUTION WHEN CHANGING)
property strCompleted : ""
property ExportList : ""
// MAIN PROGRAM
--SET THE REPORT TITLE
if make_Title is true then set ExportList to "# Projects and Tasks Completed in the Last " & num_Days & " Days" & return & "---" & return & return as Unicode text
tell application "OmniFocus"
tell its default document
set time_Ago to (current date) - num_Days * days
set done_Projects to (every flattened project where its status is done and completion date ≥ time_Ago)
repeat with done_Project in done_Projects
set com_Date to completion date of done_Project
set strCompleted to strCompleted & "# " & (name of done_Project) & " (Completed " & (short date string of com_Date) & ")" & return as string
set done_Tasks to (every flattened task in done_Project where its completed is true and completion date ≥ time_Ago)
repeat with done_Task in done_Tasks
set varContext to (context of done_Task)
set varNote to (note of done_Task)
set task_Name to "* **" & (name of done_Task) & "**" as string
if varContext is not missing value then set task_Name to task_Name & " *@" & (name of varContext) & "*"
if varNote is not missing value then
if varNote is not "" then
set task_Name to task_Name & return & " * " & varNote
set strCompleted to strCompleted & task_Name & return
set strCompleted to strCompleted & return
--PREPARE STRING FOR DAYONE…
set ExportList to ExportList & strCompleted as Unicode text
--MAKE NEW ENTRY IN DAYONE
do shell script "echo " & (quoted form of ExportList) & "|tr -d \"\\t\"|/usr/local/bin/dayone new"