Будь-який спосіб видалити спеціальні поля карт в Contacts.app?


0

Дещо спеціальні поля контактних карток у Contacts.app дійсно дратує. Наприклад, псевдоніми завжди відображаються в Mail.app. Для погіршення ситуації, здається, немає пункту меню для видалення користувальницьких полів з карт, що були створені.

Чи є спосіб видалити користувацькі поля з карт? Наприклад, з AppleScript ? Я спробував написати один, але не вдалося.

Версія ОС X для мого Mac 10.8.2.


О, ще одна річ - префікси. Раніше я додавав містера, пані, доктора, професора і т.д., але вони виявилися дійсно надлишковими і дурними.
4ae1e1

Відповіді:


0

Мені вдалося видалити поле псевдоніму контакту просто шляхом його спорожнення. Тим не менш, ось AppleScript, який дозволить вам вибрати псевдоніми, щоб видалити.

tell application "Contacts" 
  -- Get a list of people who have nicknames
  set ListOfNicknames to people whose nickname is not missing value

  repeat with x in ListOfNicknames
    -- For each person, ask if their nickname should be removed
    set dialogResult to display dialog ¬
      "Remove nickname \"" & x's nickname & "\" from " & x's name & "?" ¬
      with icon caution ¬
      buttons {"No", "Yes"} ¬
      default button "No"

    if button returned of dialogResult is "Yes" then
      set nickname of x to missing value
      save
    end if    
  end repeat
end tell

Ви можете легко змінити це, якщо ви хочете видалити всі псевдоніми, або обробити інше поле, як префікс (відомий AppleScript як title ).

Дякую:
Поради Mac OS X. , для показу мені save команду, що я пропав без вісті;
The Документація AppleScript для існуючих;
І @ KevinSayHi, за те, що дав мені шанс освіжити свій AppleScript.


1
Я не знаю, яку версію OS X ви працюєте (я вважаю, вона повинна бути 10,8, оскільки контакти вводяться тільки для заміни адресної книги в 10,8), але код не буде компілюватися на моєму редакторі AppleScript. field не клас. Повідомлення про помилку: "The variable field is not defined." Насправді я перевірив бібліотеку для Contacts.app, і немає запису з ім'ям field.
4ae1e1

Крім того, Контакти ніколи не дозволяли мені очищати поле псевдоніма після створення. Найкраще, що я можу зробити, це ввести порожній символ, і контакт буде з'являтися в Mail як щось подібне Tyler Wayne " " twayne@askdifferent.com. Я запускаю 10.8.2, але я вважаю, що те ж саме відбулося в 10.8.0 і 10.8.1. Я багато разів намагався.
4ae1e1

На жаль, минулого разу я не читав ваш код ретельно. Коли я зробив це, я отримав те, що ви маєте на увазі. Це працює. Велике спасибі! Класний сценарій.
4ae1e1

Крім того, минулого разу я робив щось подібне, але не вдалося. Виявилося, що я намагався видалити поля, а не встановити їх missing value. Я б більш уважно прочитав бібліотеку :(
4ae1e1

Власне, ви були праві. field була моя спроба спростити обробку більше, ніж просто nickname. Це була помилка з мого боку; Я відредагував код, щоб бути правильним зараз. Дякую.
Tyler Wayne
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.