Я пишу AppleScript, который каждый месяц создает электронную таблицу MS Excel. Мне нужно знать, сколько дней в текущем месяце, а затем пройти через все месяцы и решить, является ли данный день рабочим днем или праздником.Получите последний день в месяц в AppleScript и праздники в текущем месяце
Я полагаю, что я бы сэкономил праздничные дни (из этой сети http://kalendar365.cz/statni-svatky/2016 в качестве таблицы и получить доступ к ним локально).
Мой вопрос:
- Как получить последний день в течение месяца?
- Как эффективно выполнять петлю через все дни текущего месяца и решать, будет ли это воскресенье, суббота или день, указанные где-то в другом месте (например, в текстовом файле таблицы xlsx)?
В vanilla AppleScript вы можете получить последний день текущего месяца следующим образом: 1) установить переменную в 'current date' 2) Установить для свойства' day' этой даты значение 32, чтобы вызвать переполнение. Это устанавливает дату в первый день следующего месяца. 3) Вычтите один день. – vadian
Не было бы проще позволить excel вычислить это? Существует встроенная функция ['NETWORKDAYS'] (https://support.office.com/en-us/article/NETWORKDAYS-function-48e717bf-a7a3-495f-969e-5005e3eb18e7), которая будет делать все это в одном step ... –
@vadian: Это не так, как это работает (по крайней мере, на OS 10.8+): вставьте следующие 3 оператора в редактор сценариев и запустите их, и вы увидите, что итоговая дата - март _3rd_, а не 1 марта (вам может потребоваться настроить строку даты в соответствии с вашей локалью): 'set aDate to date '1 февраля 2016 г.' ',' установить день aDate до 32', 'aDate'. – mklement0