สคริปต์เพื่อสร้างที่ติดต่อ iPhone


8

ไม่มีใครรู้วิธีสร้างรายชื่อผู้ติดต่อด้วยจำนวนผู้ติดต่อที่กำหนด? พวกเขาสามารถเป็นรายการจำลองได้ แต่ฉันต้องสร้างสมุดรายชื่อด้วย> 2000 รายการ สคริปต์ Automator คือสิ่งที่ฉันมีอยู่ในใจ แต่ฉันไม่แน่ใจว่าจะทำอย่างไรกับเรื่องนี้

ฉันขอโทษถ้านี่มันผิดที่ กำลังพิจารณา SU หรือ SE แต่คิดว่าฉันจะเริ่มที่นี่

คำตอบ:


11

Applescript สามารถสร้างรายการสมุดรายชื่อ OS X จำนวนมากซึ่งคุณสามารถนำเข้าสู่ iPhone ของคุณได้ ฉันสร้างชุดพื้นฐานสำหรับคุณ:

-- Change these to your desired data
set firstName to "Test"
set lastName to "User"
set numberOfEntries to "5" as integer

set counter to "1" as integer
tell application "Address Book"
    repeat numberOfEntries times
        set thePerson to make new person with properties {first name:firstName, last name:lastName & " " & counter}
        make new email at end of emails of thePerson with properties {label:"Work", value:"test" & counter & "@example.com"}
        make new address at end of addresses of thePerson with properties {label:"Home", city:"Fakeville", street:(counter as string) & " Some St."}
        set counter to counter + 1
    end repeat
    save
end tell

เปิดAppleScript Editor (ในApplications/Utilities/โฟลเดอร์ของคุณ) แล้ววางลงในสคริปต์ใหม่ ตามที่เป็นอยู่มันจะทำให้คุณมีหมายเลข 5 หมายเลขติดต่อเช่น: ตัวอย่างผู้ติดต่อ

คุณสามารถเปลี่ยนหมายเลขในset numberOfEntries to "5" as integerบรรทัดเป็นจำนวนที่คุณต้องการและเปลี่ยนข้อมูลได้หากต้องการ หากคุณต้องการช่องอื่น ๆ (เช่นหมายเลขโทรศัพท์) ให้ถามและฉันจะแสดงให้คุณเห็นได้อย่างไร

รุ่นที่ปรับปรุงแล้ว

ฉันลงน้ำเล็กน้อยและสร้างเวอร์ชั่นที่มีชื่อดีกว่า ฉันใช้ชื่อชายและหญิงที่ได้รับความนิยมสูงสุด 20 ชื่อนามสกุลที่เป็นที่นิยมมากที่สุด 40 ชื่อและเพิ่มชื่อย่อกลางคุณจึงมีโอกาสค่อนข้างต่ำในการซ้ำซ้อน (เล็กน้อยต่ำกว่า 5% ในชุดของปี 2000 โดยคณิตศาสตร์ของฉัน) โดยไม่มี ดูโง่ติดต่อหมายเลข

นอกจากนี้ยังเพิ่มที่อยู่ติดต่อทั้งหมดในกลุ่ม ("กลุ่มทดสอบ") เพื่อให้คุณสามารถเลือกตัวจำลองทั้งหมดได้อย่างง่ายดายหากคุณกำลังเพิ่มลงในสมุดที่อยู่ที่มีอยู่และต้องการล้างในภายหลัง

แก้ไข:ฉันได้เปลี่ยนเป็นพรอมต์สำหรับจำนวนรายการที่จะสร้างดังนั้นจึงไม่จำเป็นต้องแก้ไขรหัส

-- name lists: 20 most popular (US) male and female first names, 40 most popular last names
set firstNameList to {"Mary", "Patricia", "Linda", "Barbara", "Elizabeth", "Jennifer", "Maria", "Susan", "Margaret", "Dorothy", "Lisa", "Nancy", "Karen", "Betty", "Helen", "Sandra", "Donna", "Carol", "Ruth", "Sharon", "James", "John", "Robert", "Michael", "William", "David", "Richard", "Charles", "Joseph", "Thomas", "Christopher", "Daniel", "Paul", "Mark", "Donald", "George", "Kenneth", "Steven", "Edward", "Brian"}
set lastNameList to {"Smith", "Johnson", "Williams", "Jones", "Brown", "Davis", "Miller", "Wilson", "Moore", "Taylor", "Anderson", "Thomas", "Jackson", "White", "Harris", "Martin", "Thompson", "Garcia", "Martinez", "Robinson", "Clark", "Rodriguez", "Lewis", "Lee", "Walker", "Hall", "Allen", "Young", "Hernandez", "King", "Wright", "Lopez", "Hill", "Scott", "Green", "Adams", "Baker", "Gonzalez", "Nelson", "Carter"}
set initialList to "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
set counter to "1" as integer

-- prompt for how many contacts to create
set dialogText to "Number of contacts to create?"
repeat
    display dialog dialogText default answer ""
    set numberOfEntries to text returned of result
    try
        if numberOfEntries = "" then error
        set numberOfEntries to numberOfEntries as number
        exit repeat
    on error

    end try
end repeat

-- populate the address book
tell application "Address Book"
    set theGroup to make new group with properties {name:"Test Group"}
    repeat numberOfEntries times
        set firstName to some item of firstNameList
        set lastName to some item of lastNameList
        set middleInitial to some item of initialList & "."
        set thePerson to make new person with properties {first name:firstName, middle name:middleInitial, last name:lastName}
        make new email at end of emails of thePerson with properties {label:"Work", value:firstName & middleInitial & lastName & "@example.com"}
        make new address at end of addresses of thePerson with properties {label:"Home", city:"Fakeville", street:(counter as string) & " Some St."}
        add thePerson to theGroup
        set counter to counter + 1
    end repeat
    save
end tell

นี่คือสิ่งที่มันสร้าง: รายชื่อตัวแทน 2


1
ดูสมบูรณ์แบบ! ขอบคุณ! ฉันจะทดสอบและแจ้งให้คุณทราบหากฉันต้องการอะไรอีก!
โธมัส

ผู้ชายฉันหวังว่าฉันจะสามารถ 1,000 สิ่งนี้สำหรับความพยายามพิเศษ ขอบคุณอีกครั้ง!!!
โทมัส

ยินดีต้อนรับคุณดีใจที่มีประโยชน์ บางครั้งมันก็สนุกที่จะรวบรวมสคริปต์เล็ก ๆ น้อย ๆ เพื่อแก้ปัญหาเดียว
robmathers

1
ฉันเปลี่ยนรุ่น "ที่ได้รับการปรับปรุง" เพื่อรวมพรอมต์สำหรับจำนวนผู้ติดต่อที่จะสร้างแทนที่จะต้องการให้สคริปต์แก้ไข
robmathers

4

ฉันใช้รหัสของ Rob ในรูปแบบที่สั้นลงเพื่อสร้างบริการอัตโนมัติที่ให้คุณคลิกขวาที่อีเมลและสร้างผู้ติดต่อ:

ป้อนคำอธิบายรูปภาพที่นี่

ขอบคุณ Rob มาก - คุณได้ช่วยฉันชั่วโมงและเวลาทำงาน :-)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.