OS X Yosemite의 주소록 앱에서는 현재 CSV 파일에서 가져올 때 사용자 정의 필드 레이블을 가져올 수 없습니다. 타사 앱을 사용하여 연락처를 관리하고 연락처의 우편 주소, 전화 번호 및 전자 메일 주소에 사용하는 사용자 지정 레이블을 가져오고 싶습니다.
사용자 정의 레이블을 필드 데이터와 구분 문자를 병합하는 필드를 작성하는 경우 AppleScript를 사용하여 사용자 정의 레이블을 추출하고 구분 문자를 제거하고 사용자 정의 레이블로 필드 이름을 바꿀 수 있습니까?
예를 들어 현재 전화 필드에 대한 사용자 지정 레이블이 있습니다.
필드 맞춤 라벨 : Dad Mobile
필드 값 : 123456 7890
합병 된 분야 : Dad Mobile; 123456 7890
CSV를 통해 파일을 연락처로 가져올 때 파일을 “phone other”에 매핑합니다. 연락처를 가져올 때 전화 번호는 다음과 같습니다.
기타 : Dad Mobile; 123456 7890
다시 스크립트는 사용자 정의 레이블을 추출하고 구분 기호 문자를 제거한 후 사용자 정의 레이블로 필드 이름을 바꾸어 다음과 같은 결과를 얻습니다.
아빠 모바일 : 123456 7890
스크립팅에 다소 익숙하지 않습니다.
답변
set phoneDad to "Dad Mobile" --Use your own custom variables imported from CSV
-- would need to parse CSV
tell application "Contacts"
set thePerson to make new person with properties ¬
{first name:"John", last name:"Doe", organization:"ABC Apps"} ¬
-- see the "Contacts" AppleScript dictionary
-- for other attributes than may be added
make new email at end of emails of thePerson with properties ¬
{label:"Work", value:"john@example.com"}
make new phone at end of phones of thePerson with properties ¬
{label:phoneDad, value:"555.555.1212"} --Use a variable to replace hardcoded number
make new url at end of urls of thePerson with properties ¬
{label:"Work", value:"http://www.example.com/"}
save
end tell
CSV 구문 분석을 기반으로 사용자 정의 변수를 설정할 수 있습니다.
이것은 올바른 방향으로 당신을 가리켜 야합니다. 따라서 질문에 대한 답변으로 Applescript를 사용하면 사용자 정의 필드를 추가 할 수 있습니다. 위 코드와 비슷한 구문을 사용하십시오. 이에 따라 CSV 파일을 구문 분석하면됩니다. 어떤 타사 앱을 사용하는지 모르지만 일상적으로 Filemaker와 같은 데이터베이스 앱에서 직접 수행됩니다.
더 읽을 거리 : vCard Wikipedia
vCard 3.0
시작 : VCARD 버전 : 3.0 N : Gump; 포레스트 ;; Mr. FN : 포레스트 검프 ORG : Bubba Gump Shrimp Co. TITLE : Shrimp Man PHOTO; VALUE = URL; TYPE = GIF : http://www.example.com/dir_photos/my_photo.gif
TEL; TYPE = WORK, VOICE : (111 ) 555-1212 TEL; TYPE = HOME, VOICE : (404) 555-1212 ADR; TYPE = WORK : ;; 100 Waters Edge; Baytown; LA; 30314; 미국 LABEL; TYPE = WORK : 100 Waters Edge \ nBaytown \, LA 30314 \ n 미국 Ameri ca ADR; TYPE = HOME : ;; 42 Plantation St.; Baytown; LA; 30314; 미국 LABEL; TYPE = HOME : 42 Plantation St. \ nBaytown \, LA 30314 \ n 미국 Ame rica EMAIL; TYPE = PREF, INTERNET : forrestgump@example.com REV : 2008-04-24T19 : 52 : 43Z 종료 : VCARD