【发布时间】:2013-10-08 19:04:19
【问题描述】:
这是我在 stackoverflow 中的第一篇文章。我花了数周时间试图让 Applescript 从联系人(Mac 地址簿)中已建立的组(不是智能组)中删除人员。该脚本删除了几个人,然后发出错误。如果我在发出错误后重新运行脚本,它将从组中删除更多人,然后再次发出相同的错误。我可以继续这样做,直到最终每个人都从组中删除。我不明白为什么在发出错误后重新运行脚本时会发出错误,导致在再次发出错误之前又删除了几个人。 - 再一次,我可以继续重新运行脚本,直到最终每个人都从组中删除。这表明联系人记录没有损坏。
我尝试移动 SAVE 命令,但没有帮助。我要从中删除联系人的组标记为“家庭”。
发出的错误是... 错误“联系人出现错误:无法获取组\“家庭\”。” “家庭”组中的编号 -1728
tell application "Contacts"
set group_list to name of every group
repeat with anItem in group_list
set AppleScript's text item delimiters to ""
repeat 1 times
if first item of anItem is not "$" then exit repeat
set AppleScript's text item delimiters to "$"
set gruppe to text item 2 of anItem
if group gruppe exists then
--remove every person from group
repeat with person_to_remove in every person in group gruppe
set firstName to first name of every person in group gruppe
set group_count to count every person in group gruppe
remove person_to_remove from group gruppe
save
end repeat
end if
end repeat
end repeat
save
return "Done"
end tell
【问题讨论】:
-
脚本哪里出现这个错误?
-
脚本中的“remove person_to_remove from group gruppe”行出现错误。 Applescript 编辑器突出显示该行并发出以下错误...错误“联系人出错:无法获取组 \"Family\"。”来自“家庭”组的编号 -1728。奇怪的是,如果我重新运行脚本(在发出错误之后),脚本会在再次出错之前从组中删除其他人。如果我多次重新运行脚本,它最终会从组中删除每个人。如果联系人记录有问题,为什么它最终会删除所有人?
标签: macos applescript contacts addressbook