From calc to W10 calendar

Hi, need help because I’m trying to set up some alerts in Windows10 agenda starting from Calc. i mean I want to press a “button” in calc and add some dates to W10 agenda and when these dates arrives, I want to be warned by a pop-up or sound or something else.
is it possible? thanks

It is probably possible.

LEVEL 1: See if you can format the data (have some cells together in the right order) in Calc so that you can copy/paste it into your agenda program easily. This would be iffy, since you want to paste across several fields.

LEVEL 2: A local route might be to see if your MS calendar has in import option to import data as CSV. Then you could just create an LO BASIC macro to save your Calc data as a CSV and then make a system call on a batch/script that automated the MS calendar app–if with luck the app might have a direct command-line import option.

LEVEL 2.5: You could just do the alert part, without integrating to your calendar, by scheduling a simple alert program. Look under schtasks.exe under Scheduled tasks and cron jobs on Windows. So, you would write a macro that did a system call for schtasks with the correct parameters, taken from the new event data.

LEVEL 3: You could create a Java app that would use the Calc API to read the calendar data from your spreadsheet then have the Java app go to your Microsoft account, authorize (have a bearer token), and use a RESTful interface to post your data. That should then be reflected in any Windows 11 Microsoft-based calendar program, provided you haven’t defeated MS’s forced sign-in for WIndows 11. Microsoft has a Java wrapper API for its calendars. Here’s a snippet of code from MS where the data in double-quotes would be what your Java app would read via the Calc API:

GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();

LinkedList<Option> requestOptions = new LinkedList<Option>();
requestOptions.add(new HeaderOption("Prefer", "outlook.timezone=\"Pacific Standard Time\""));

Event event = new Event();
event.subject = "Let's go for lunch";
ItemBody body = new ItemBody();
body.contentType = BodyType.HTML;
body.content = "Does noon work for you?";
event.body = body;
DateTimeTimeZone start = new DateTimeTimeZone();
start.dateTime = "2017-04-15T12:00:00";
start.timeZone = "Pacific Standard Time";
event.start = start;
DateTimeTimeZone end = new DateTimeTimeZone();
end.dateTime = "2017-04-15T14:00:00";
end.timeZone = "Pacific Standard Time";
event.end = end;
Location location = new Location();
location.displayName = "Harry's Bar";
event.location = location;
LinkedList<Attendee> attendeesList = new LinkedList<Attendee>();
Attendee attendees = new Attendee();
EmailAddress emailAddress = new EmailAddress();
emailAddress.address = "samanthab@contoso.onmicrosoft.com";
emailAddress.name = "Samantha Booth";
attendees.emailAddress = emailAddress;
attendees.type = AttendeeType.REQUIRED;
attendeesList.add(attendees);
event.attendees = attendeesList;
event.allowNewTimeProposals = true;
event.transactionId = "7E163156-7762-4BEB-A1C6-729EA81755A7";

graphClient.me().events()
	.buildRequest( requestOptions )
	.post(event);

LEVEL -1: I suppose you could also use the Selenium driver Java API to automate adding the data to your MS outlook.com. It looks like you would navigate to Calendar by having Selenium click on the button with aria-label being “Calendar” then find the day by attribute datatabid being something like “SurfaceMonthHeader_2021_12_31”, then click it with Selenium, then find placeholder attribute being “Add a title”, etc…