Tuesday, October 14, 2025

An Org File to Report When Moon is Void of Course (in 2025)

In my previous post I wrote about how to create a custom calendar in a spreadsheet and then add it to Google calendar. I used the dates and times when Moon is void of course in 2025 as an example. 1

In this post, I'll show how to add those events to an org-mode file so that they show up in the Agenda View. And while there are Lisp add-ons that create org files from ICal files, it's easier to create the org file directly, since we don't actually have an ICal file.

Begin with the spreadsheet that was created in steps 1 through 4 of the previous post. But note that the new sheet in step four will be in the format that Org can read.

Here are the next steps:

  1. Add the following content in the first 5 rows of column A. These define the recommended file-level settings for the Org file:
    1. #+STARTUP: content
    2. #+STARTUP: hidestars
    3. #+STARTUP: indent
    4. #+CATEGORY: MVoC
    5. #+FILETAGS: :MVoC:
  2. Leave row 6 blank and then enter the following in cell A7. Please note that the tilde character represents a line continuation character. In fact the content should be entered without line breaks:
    1. ="* Moon void of course entering " & ~
    2. $moon_void_of_course_table_2025.C2 & ~
    3. UNICHAR(13) & UNICHAR(10) & "<" & ~
    4. TEXT($moon_void_of_course_table_2025.A2,"YYYY-MM-DD NN HH:MM") ~
    5. & ">--<" & ~
    6. TEXT($moon_void_of_course_table_2025.B2,"YYYY-MM-DD NN HH:MM") ~
    7. & ">" & UNICHAR(13) & UNICHAR(10)
  3. Set the row height to at least three times its default height.
  4. Save the spreadsheet in its native format (Excel as an XLSx file; LibreOffice Calc, ODS). A lot of work went into entering the formula in A7 - it would be highly frustrating if that got lost!
  5. Then pause and breathe for discussion.
    1. In paragraphs 6.1 and 6.2, we have code for a heading that will say, "Moon void of course entering Aquarius." Although instead of " Aquarius" it could be any Zodiac sign specified in Column C of the source sheet.
    2. The "UNICHAR" worksheet functions in paragraphs 6.3 and 6.7 resolve to the Carriage Return / Linefeed characters when called with arguments of 13 and 10 as they are here. These two characters define line endings on Windows. It's your spreadsheet's way of pressing ENTER.
    3. The reference to $moon_void_of_course_table_2025.A2 in 6.4 returns the date and time that the void begins. Similarly, $moon_void_of_course_table_2025.B2 in 6.6 returns the date and time that the void ends.
    4. The aforementioned dates and times are formatted with the TEXT worksheet function to ensure that the date is represented in YYYY-MM-DD format (2025-10-14, for example), followed by an abbreviation for the name of the day of the week (Tue, which, by the way, is optional) 2, and finally followed by the time using the 24-hour notation, where 23:45 is 11:45 pm.
    5. The start date & time and the end date & time each are surrounded by angle brackets; the bracketed start and end elements are separated by two hyphens. Today the duration that the Moon is void of course is denoted this way:
      1. <2025-10-14 Tue 00:05>--<2025-10-14 Tue 05:47>
  6. Starting at cell A7, fill down until all the data of the first sheet is included.
  7. Save the spreadsheet again.
  8. In step 8 of the previous post, I instructed to "Export the new sheet as a CSV file." We'll want to do that again. But this time it's necessary to pay attention to LibreOffice's "Export Text File" dialog box that precedes the Save dialog box. Ensure that the Field Delimiter and String Delimiter dropdown boxes are blank as shown in Figure 1. Otherwise, each heading will be preceded by a double quote character, and the lines might end with a comma.
  9. Change the extension of the newly-created CSV file to org. Edit it with Emacs and press C-[ to add it to the Agenda File List.
  10. Press C-c a a to view the default agenda view. A screenshot of today's agenda is shown in Figure 2 below.
Figure 1: The LibreOffice Export Text File dialog box with Field delimiter and String delimiter fields blank

Figure 2: Agenda View for Tuesday, October 14.  It shows that Moon is void of course from 12:05am to 5:47am.

Please let me know if you found this useful or if you have suggestions for improvement.


1 https://ludditegeek.blogspot.com/2025/10/add-moon-void-of-course-dates-to-google.html
2 The reference for org-mode's date range timestamp format can be found here: https://orgmode.org/worg/org-syntax.html#Timestamps

No comments: