From c96cb84154fd58d31aa926cb2343b4958a699b9e Mon Sep 17 00:00:00 2001 From: Olof Hellman Date: Wed, 17 Jul 2019 00:37:54 -0700 Subject: [PATCH] Create Excel-CreateFeedStatisticsSpreadsheet.applescript Another sample script, this time targeting Excel and building a spreadsheet with simple statistics about feeds. --- ...reateFeedStatisticsSpreadsheet.applescript | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 AppleScript/Excel-CreateFeedStatisticsSpreadsheet.applescript diff --git a/AppleScript/Excel-CreateFeedStatisticsSpreadsheet.applescript b/AppleScript/Excel-CreateFeedStatisticsSpreadsheet.applescript new file mode 100644 index 000000000..b3fe5533a --- /dev/null +++ b/AppleScript/Excel-CreateFeedStatisticsSpreadsheet.applescript @@ -0,0 +1,49 @@ +-- This script creates an Excel spreadsheet with statistics about all the feeds in your NetNewsWire + +-- the exportToExcel() function creats a single line of data in a spreadsheet + +to exportToExcel(docname, rowIndex, feedname, numArticles, numStars, numRead) + tell application "Microsoft Excel" + tell worksheet 1 of document docname + set value of cell 1 of row rowIndex to feedname + set value of cell 2 of row rowIndex to numArticles + set value of cell 3 of row rowIndex to numStars + set value of cell 4 of row rowIndex to numRead + end tell + end tell +end exportToExcel + + +-- the script starts here +-- First, we make a new Excel spreadsheet and fill in the column headers + +tell application "Microsoft Excel" + set newdoc to make new document + tell worksheet 1 of newdoc + set value of cell 1 of row 1 to "Name of Feed" + set value of cell 2 of row 1 to "Articles" + set value of cell 3 of row 1 to "Read" + set value of cell 4 of row 1 to "Stars" + end tell + set docname to name of newdoc +end tell + +-- Then we loop though all the feeds of all the accounts +-- for each feed, we calculate how many articles there are, how many are read, and how many are starred +-- then, we send off the information to Excel + +set totalFeeds to 0 +tell application "NetNewsWire" + set allAccounts to every account + repeat with nthAccount in allAccounts + set allFeeds to every feed of nthAccount + repeat with nthFeed in allFeeds + set feedname to name of nthFeed + set articleCount to count (get every article of nthFeed) + set readCount to count (get every article of nthFeed where read is true) + set starCount to count (get every article of nthFeed where starred is true) + set totalFeeds to totalFeeds + 1 + my exportToExcel(docname, totalFeeds + 1, feedname, articleCount, readCount, starCount) + end repeat + end repeat +end tell