Lägga till +46 i adressboken via AppleScript

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Nyköping
  • 2007-10-10 22:14

Hej,

När min iPhone inte kände igen numren jag hade i +46-format hittade jag nedanstående script som tog bort +46 och ersatte det med 0 i alla mina adressboksposter.

Om jag nu vill få tillbaka +46, hur ska scriptet se ut då?
Jag vill alltså att det ska ersätta inledande nolla (och inte alla förekommande nollor) i varje telefonnummer med +46.

Snälla, hjälp mig. Jag är totalt värdelös på AppleScript. Och jag har lite för många poster i adressboken för att orka ändra manuellt.

Hasse

--- This Apple Script changes your phone numbers from (e.g.) +49-621-7980414 to 0621-7980414
--- Useful for iPhone users outside the USA
--- Provided without a warranty, as is. Always make a backup before applying.
--- by pianojoe

property phone_find : "+46 "
property phone_repl : "0"

tell application "Address Book"
set c to 0
set find_len to the length of phone_find
repeat with p in people
set fon to the phone of p
repeat with f in fon
set n to the value of f
--- Let's look at every phone number n
set l to (text items 1 thru find_len of n) as string
--- If it is a domestic number (Germany in my case)
if l = phone_find then
--- Check wether we need to eliminate a following dash
if text item (find_len + 1) of n = "-" then
set m to find_len + 2
else
set m to find_len + 1
end if
--- and replace the international prefix with a zero
set value of f to phone_repl & (text items m thru -1 of n) as string
set c to c + 1
end if
end repeat
end repeat
beep
display alert (c as string) & " phone numbers fixed."
end tell

Du kanske kan använda AdressBookExporter för att dra ut adressboken till Excel och ordna det där?

/Magnus

Har du hittat något script?
Är också intresserad då jag ska vara utomlands
ett tag i sommar.

  • Medlem
  • Stockholm
  • 2008-04-15 20:15
Ursprungligen av Hasse A:

property phone_find : "+46 "
property phone_repl : "0"

Läste inte skriptet så noga men torde det inte bara vara att byta plats på "+46" och "0"?

Ta back upp (se bifogad bild) och testa!

Vänligen, Ylan

1
Bevaka tråden