AH-K3001Vのアドレス帳をWX320Tに移す
ヨドバシのに〜ちゃんは「付属のソフトで移せます」って言ってたのに全然移せない!
AH-K3001V側の京セラユーティリティはkkcって独自バイナリじゃないとエクスポートできない!
WX320TはvcardかOutlookかOutlookExpressでないとインポートできない!
なんつー不便さ。
でもH"問屋を使えばCSVで一括エクスポートできるので、そこからは自力で何とかするしかない。
#!/usr/bin/ruby $KCODE = "SJIS" # for S-JIS # AH-K3001VtoWX320T.rb # AH-K3001Vのアドレス帳(のH"問屋でエクスポートしたもの)を、 # WX320Tでインポートできるように変換する # # Usage # $> AH-K3001VtoWX320T.rb < in.csv > out.vcf # # <フォーマット> # BEGIN:VCARD # VERSION:2.1 # N:名前だよ;;;; # SOUND;X-IRMC-N:ナマエダヨ;;;; # NOTE;CHARSET:メモです # TZ:+0000 # X-CLASS:PUBLIC # X-GN;CHARSET:Group 01 # X-GNO:1 # LOGO: # PHOTO: # X-CVA-MEMORYNO:1 # EMAIL;HOME:mail@docomo.ne.jp # EMAIL;HOME:mail2@ezweb.ne.jp # EMAIL;HOME:mail3@softbank.ne.jp # TEL;CELL:0312345678 # TEL;HOME:09025803698 # TEL;HOME:0452145698 # END:VCARD # # <appendix> # WX320Tでの種別 # TEL : HOME, CELL, X-NEC-PHS, WORK, FAX # EMAIL : HOME # # AH-K3001Vでの種別 # TEL : FAX, PHS, 携帯 (それらの場合、""で囲まれる。そうでないなら囲まれない) $NAME = "名前だよ" $NAME_KANA = "カナダヨ" $GROUP = 0 #00〜09 $NO = -1 # 通し番号. $EMAIL1 = "HOME:mail@docomo.ne.jp" $EMAIL2 = "HOME:mail2@ezweb.ne.jp" $EMAIL3 = "HOME:mail3@softbank.ne.jp" $TEL1 = "CELL:0112345678" $TEL2 = "CELL:0212345678" $TEL3 = "CELL:0312345678" ARGF.each{|line| # perse a = line.split(",") # check if (a.size != 17) then printf("irregular format. size :") p a.size next end if ((line.index"グループ,種別,") != nil) then next end # initialize. $NAME = nil $NAME_KANA = nil $GROUP = 1 $NO += 1 # 位置に注意. $EMAIL1 = nil $EMAIL2 = nil $EMAIL3 = nil $TEL1 = nil $TEL2 = nil $TEL3 = nil # input $NAME = a[2] $NAME_KANA = a[3] if (a[0].scan(/[0-9]+/)[0] != nil) then $GROUP = a[0].scan(/[0-9]+/)[0].to_i else $GROUP = 0 end if ($GROUP > 9 || $GROUP < 0) then $GROUP = 0 end $EMAIL1 = a[10][/[\x23-\x7F]+@(([-a-zA-Z0-9]+\.)*[a-zA-Z]+|\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])/, 0] $EMAIL2 = a[11][/[\x23-\x7F]+@(([-a-zA-Z0-9]+\.)*[a-zA-Z]+|\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])/, 0] $EMAIL3 = a[12][/[\x23-\x7F]+@(([-a-zA-Z0-9]+\.)*[a-zA-Z]+|\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])/, 0] $TEL1 = a[4][/[0-9]+/, 0] $TEL2 = a[5][/[0-9]+/, 0] $TEL3 = a[6][/[0-9]+/, 0] $NAME.gsub!(/"/, "") if ($EMAIL1 != nil) then $EMAIL1.gsub!(/"/, "") $EMAIL1 = "HOME:" + $EMAIL1 end if ($EMAIL2 != nil) then $EMAIL2.gsub!(/"/, "") $EMAIL2 = "HOME:" + $EMAIL2 end if ($EMAIL3 != nil) then $EMAIL3.gsub!(/"/, "") $EMAIL3 = "HOME:" + $EMAIL3 end if ($TEL1 != nil) then $TEL1.gsub!(/"/, "") $TEL1 = "HOME:" + $TEL1 end if ($TEL2 != nil) then $TEL2.gsub!(/"/, "") $TEL2 = "HOME:" + $TEL2 end if ($TEL3 != nil) then $TEL3.gsub!(/"/, "") $TEL3 = "HOME:" + $TEL3 end # output printf("BEGIN:VCARD\n") printf("VERSION:2.1\n") printf("N:%s;;;;\n", $NAME) printf("SOUND;X-IRMC-N:%s;;;;\n", $NAME_KANA) printf("TZ:+0000\n") printf("X-CLASS:PUBLIC\n") printf("X-GN;CHARSET:Group %02d\n", $GROUP) printf("X-GNO:%d\n", $GROUP) printf("LOGO:\n") printf("PHOTO:\n") printf("X-CVA-MEMORYNO:%d\n", $NO) printf("EMAIL;%s\n", $EMAIL1) if $EMAIL1 printf("EMAIL;%s\n", $EMAIL2) if $EMAIL2 printf("EMAIL;%s\n", $EMAIL3) if $EMAIL3 printf("TEL;%s\n", $TEL1) if $TEL1 printf("TEL;%s\n", $TEL2) if $TEL2 printf("TEL;%s\n", $TEL3) if $TEL3 printf("END:VCARD\n\n") }