Hallo Ich bin ziemlich neu in AppleScript. Ich versuche, Anwesenheitsgenerator über reines AppleScript zu erstellen (ich weiß, dass ich Microsoft Excel VBA dafür verwenden würde, ich würde nur AppleScript verwenden.).Finden Sie Ereignis in angegebenen Kalender in AppleScript
Ich habe diese Art von Problem. Ich möchte überprüfen, ob im laufenden Monat einige nationale Feiertage sind oder nicht (der Kalender heißt "Státní svátky"). Ich führe meinen Code und werde leer, z. B. {} Variable. Ich weiß nicht, was in meinem Code falsch ist.
-- My isholiday function; i parameter is pointer to day of month i want to test if it is or it is not a holiday
on isholiday(i)
-- Function global variables
set today to current date
set tomorrow to today + 60 * 60 * 24
-- work with calendar app
tell application "Calendar"
tell calendar "Státní svátky" -- national holiday calendar in my iCloud
set currentEvent to every event whose start date is greater than or equal to today and start date is less than or equal to tomorrow
return currentEvent
-- when an event occurs it should tells me right
if currentEvent is not {} then
display dialog "It is not empty!"
end if
end tell
end tell
end isholiday
- caling die Funktion - i 23 zum Zweck nahm - ich Testvorgang zum Beispiel für diesen Tag getan habe, ich weiß es nicht zu 100% leer isholiday ist (23)
Bitte helfen Sie mir. Vielen Dank!
- Michael
Ja, es funktioniert wie ein Zauber :-) Aber ich muss den ganzen Monat durchschleifen und prüfen, ob es irgendwelche Ferien gibt. Es wäre viel optimaler, wenn ich jeden Feiertag explizit auf Variable schreibe und frage, ob es im aktuellen Monat ist. Gibt es einen anderen Weg? –
Sie werden feststellen, dass, wenn Sie viele Ereignisse im Kalender haben, die who-Klausel sehr langsam ist. Suchen Sie nach ASObjC-Datumshandlern von Shane Stanley für eine schnellere Lösung. – adayzdone