AppleScript在Reminders中获取活动列表?

时间:2013-09-30 13:06:36

标签: applescript osx-mountain-lion reminders

有人可以帮助我在OS X上的Reminders应用程序中显示活动列表吗?

根据提示的applescript字典,该应用程序有一个“默认列表”属性,它是“Reminders应用程序中当前活动的列表。”

但是,此属性似乎总是​​按顺序返回列表边栏中的第一个列表,而不是实际显示且处于活动状态的列表。我发现,如果我重新排列侧边栏中列表的顺序,我将始终获得第一个列表中的任何一个,无论实际查看和使用哪个列表。

我的应用程序是创建一个Keyboard Maestro触发器来运行AppleScript来打印我当前正在处理的列表,但似乎Reminders应用程序的功能并不像其字典中记录的那样。 (我暂时使用了一个解决方法,让脚本弹出一个列出所有列表的选择器,这样我就可以选择我要打印的那个,但这样效率低且不够优雅。)

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,你可以,但你必须使用糟糕的GUI脚本。并以一种糟糕的方式。看:

--Do some GUI scripting to get the decription of a specific group
tell application "Reminders" to activate
tell application "System Events"
    tell process "Reminders"
        tell window "Reminders"
            tell splitter group 1
                tell group 1
                    set des to get description
                end tell
            end tell
        end tell
    end tell
end tell

--This description is in the format "Viewing MyList, 1 reminder" so get the part to the "," from des.
set text item delimiters to ","
set texitems to text items of des
set firstPart to get text item 1 of texitems

--Setting the delimiters back
set text item delimiters to ""

--Jump to charcter 9 of firstPart then converting to text
set listname to characters 9 thru end of firstPart as text

--Now we know the name of the current list, so do whatever you want:
tell application "Reminders" to get list listname

这很有效。但只有提醒是开放的。如果Apple更改了Reminders结构......