AppleScript名:date pickerによる日付選択 |
— Created 2015-08-20 by Shane Stanley use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "AppKit" use script "BridgePlus" — https://www.macosxautomation.com/applescript/apps/BridgePlus.html if not (current application’s NSThread’s isMainThread()) as boolean then display alert "This script must be run from the main thread." buttons {"Cancel"} as critical error number -128 end if — create a view set theView to current application’s NSView’s alloc()’s initWithFrame:(current application’s NSMakeRect(0, 0, 100, 200)) — create date picker set datePicker to current application’s NSDatePicker’s alloc()’s initWithFrame:(current application’s NSMakeRect(0, 0, 100, 100)) — set style: choices are NSTextFieldAndStepperDatePickerStyle, NSClockAndCalendarDatePickerStyle, or NSTextFieldDatePickerStyle datePicker’s setDatePickerStyle:(current application’s NSClockAndCalendarDatePickerStyle) — set elements: choices include NSHourMinuteDatePickerElementFlag, NSHourMinuteSecondDatePickerElementFlag, NSTimeZoneDatePickerElementFlag, NSYearMonthDatePickerElementFlag, and NSEraDatePickerElementFlag datePicker’s setDatePickerElements:((current application’s NSYearMonthDayDatePickerElementFlag) + (current application’s NSHourMinuteSecondDatePickerElementFlag as integer)) — set initial date datePicker’s setDateValue:(current application’s NSDate’s |date|()) — get the size it needs set theSize to datePicker’s fittingSize() –resize the picker and view accordingly theView’s setFrameSize:theSize datePicker’s setFrameSize:theSize — add the picker to the view theView’s setSubviews:{datePicker} — create an alert set theAlert to current application’s NSAlert’s alloc()’s init() — set up alert tell theAlert its setMessageText:"Pick a date" its setInformativeText:"Any date" its addButtonWithTitle:"OK" its addButtonWithTitle:"Cancel" its setAccessoryView:theView end tell — show alert in modal loop set returnCode to theAlert’s runModal() if returnCode = (current application’s NSAlertSecondButtonReturn) then error number -128 — retrieve date set theDate to ASify from (datePicker’s dateValue()) — or simply coerce to date in 10.11 –> date "2015年8月20日木曜日 19:43:58" |
More from my site
(Visited 163 times, 1 visits today)