2012年3月29日木曜日

Automator.appを利用して携帯電話番号に半角スペースを入力する

先の記事でも書いたが、iCloudの連絡先データに記録している電話番号の書式がバラバラになっている。 Bentoでそのデータをみると入力したままの状態で見えるため非常に気になる。 そんなにたくさんのデータがあるわけではないが、1つ1つトラックパッド(マウス)で文字を選択し、クリックしてキーボードで変更を加えるのは非常に面倒くさい。

例えば、090XXXXXXXXというように携帯の番号を半角スペースで区切っておきたいという場合だ。 FileMaker11であればスクリプトで一気に処理してしまうが、FileMakerは連絡先のデータベースにアクセスする機能がない。 かといって、Bentoには自動化処理の機能が無い。 後はAppleScriptを利用することを考えるが、ぱっと調べた限りではできそうにない。

ということで一気に処理することは諦めて、キーボードで半角スペースを入力する手間だけでも楽にできないかと思い、Automator.appとAppleScriptを合わせて使うことにした。

何をするかというと、

Automator.appのサービスを利用して、携帯電話の番号(11文字)の数字を選択している状態でコンテキストメニューを呼び出し、半角スペース2つを含んだ携帯番号(13文字)に変更する。

という処理。

例)090XXXXXXXX → 090 XXXX XXXX

どうやって作るかというと、
Automator.appを起動し新規書類でサービスを選ぶ。
ウインドウの右上にある「選択されたテキストを出力で置き換える」のチェックボックスにチェックを入れ、「AppleScriptを実行」を追加し、以下のスクリプトを入力して保存する。


on run {input, parameters}
(* 携帯電話番号 090XXXXXXXX などの文字列に半角スペースの区切りを入れる *)
set str1 to input as text --テキストとして変数に格納
set str2 to characters of str1 --文字単位に分解
set cnt to count of str2 --文字数を取得
set t to ""
repeat with c from 1 to cnt
if c = 4 or c = 8 then
set t to t & " " & item c of str2 --48番目の数字の前に半角スペースを入れる
else
set t to t & item c of str2
end if
end repeat
return t
end run


これで、できあがり。
テキストエディットなどで試しに090XXXXXXXXと入力してコンテキストメニューを呼び出してさっき作ったメニューを選べば動作するはず。(初回はちょっと時間がかかるかも)

ダウンロード:携帯電話番号に区切りを入れる.workflow.zip (88KB)

解凍すると、「携帯電話番号に区切りを入れる.workflow」ができ、ダブルクリックで~/Library/Servicesにインストールされる。

Automator.appを使ってみる

AppleScriptを使って色々な処理をさせることができるが、処理の内容によってはメニューバーのスクリプトメニューまでポインターを動かしてコマンドを選ぶのが面倒(不適切?)な処理もある。

そういうときに使えるのがMacOSに用意されているAutomator.app(オートメーター)。

Lion以前から存在していたが、今一歩利用シーンが思いつかず、起動はするもののすぐに終了してしまう人は多そうなアプリケーションだ。

色んなサンプルが雑誌で紹介はされることはあるが、自分の用途にピタリとはまる処理がなかなかない。

ということで、今までほぼ使ったことがなかったAutomator.appだが、コンテキストメニュー(右クリック)にメニューを追加して、AppleScriptを実行してみたいと思ったので、これを使ってみることにした。

Automator.appを起動して新規に書類を作ると色々なタイプの自動化処理を作れるのだが、ここで「サービス」を選ぶ。 このタイプで作った処理は~/Library/Servicesに保存され、コンテキストメニューで呼び出すことが出来る。

ちなみに~/Library/Servicesの場所は通常LionのFinderでは表示されない。 自分のアカウント以下のLibraryフォルダは非表示になっているからだ。 だから一発で移動したいときはFinderメニューの移動からフォルダへ移動...(shift+command+G)を選び「~/Library/Services」を入力すればいい。

つづく・・・

2012年3月25日日曜日

Lionに移行した

Mountain Lion(10.8)の発表があってから流石に周回遅れになるのはマズイかと思いLion(10.7)に移行した。

一度完全に乗り遅れると色々と環境が固定されて古いのにしがみついてしまい、割高なモノを買うはめになったり、いざ移行したときに総取っ替えでまとまった出費になってしまったり、余分な検証時間がかかったりすることになる。

まあ、延命策をいろいろと考えたり調べたりするのは、それはそれで楽しいのだけど、今のメイン環境はまださほど無理せずについていけるので移行した方がいいと判断した。

結局、移行に躊躇していた大きな原因にもなっていたMobileMeからiCloudへの移行はLionの導入と同時に決行した。 

ということで、色々と何に移行したかを書いてみると、

iDisk・・・
Dropboxで古いMacOS10.4ともデータのやり取りができるのでOK(内蔵HDDの容量は使うけど動作はiDiskより軽快)

キーチェーンの秘密メモ・・・
Bento for MacとBento for iPhoneを買って記録と同期をすることにした。 Bento for iPhoneではアプリ自体にパスコードロックもできるし、Bento for Macで暗号化フィールドを作り、フィールド単位でパスワードをかけることもできる。

iWebでサイトを作る・・・
このブログを書いているGoogleのBloggerとISPから提供されている場所に移行。以前使っていたものすごく古いGoLive6.0は必要なときだけまだ動くPowerBookG4 Ti 867MHzで利用する。(ここでもDropboxが活躍)

どこでもMy Mac・・・
AirMac ExtremeのソフトウェアアップデートでOK

古いPhotoshopの代わり・・・
PixelmatorでOK。 本格的な写真のレタッチをすることはないし、最近のPhotoshop Elementsの方向性が自分の用途にあっていなかったからこっちの方が違和感がない。

古い Illustratorの代わり・・・
今のところ手ごろな価格帯で決定的なものは見つからない。 とりあえずiDrawをMac App Storeで購入。 ほとんど使っていないが、ちょっとした略図ぐらいなら大丈夫かも。 でも、スマートガイド機能が欲しい。

CasioのラベルライターCW-100・・・
以前はイカモノ堂の非公式ドライバCW Utilityを使ってMac上で動かしていたが、Lionで使えなくなった。 使う機会がめっきり減っているが、必要なときはVMWare FusionのWindows上で純正ソフトで利用する。

iPhone3GなどのiOS4までのもの・・・
MobileMeでなくなったことで、連絡先やメモなどの同期ができなくなったが、子供のゲーム機として余生をおくってもらうので、それらの機能は必要なし。

仕事で使うアプリケーション・・・
準備してもらえたし、動作検証もほぼ終了。


問題は・・・

Lionが重い。 かなりの頻度でレインボーカーソルが動く。 クリーンインストールの後に移行アシスタントでTime Machineからデータを移したがずいぶん重く感じる。 一応フラグメンテーションもおこっていないかチェックしたがそれほど酷くはない。 容量も1/5しか利用していない。

環境は2.66GHz MacBook Pro(MC373J/A):2.66GHz Intel Core i7:メモリ4GBの購入したままの状態。

メモリDDR3 SO-DIMM PC3-8500 CL7 4GB 2枚組も知らない間に異常に安くなっていたので購入するか、大容量はいらないのでSSD 128GBあたりに換装するか・・・。

2012年3月23日金曜日

Bento for iPhoneのアドレスブックを見やすくしてみる

Bento for iPhoneのアドレスブックは正直言って見難い。 それはリスト表示のときに表示できる項目の数が少ないからだ。 デフォルトでは姓フィールドがプライマリフィールド(太文字)で名フィールドがセカンダリフィールド。 後は写真(アイコン)があるのみ。となっている。

アドレスデータをきちんと整えている人であればまだ見れる状態かもしれないが、姓・名のデータがどちらかにまとまってしまっているような人やニックネームしか入れていない人だったら使えたものではない。 まあ、Bento for iPhoneはアドレスを管理編集するだけのアプリではないので、アドレス管理機能ははじめから当てにしていないという人もいるかもしれないけど、どうせだったらちゃんと利用できるようにしてみたい。

ということで、ちょっと使い方を考えてみた。

先に結論から言うと、Bento for Macを使っている人限定になるが、計算フィールドを作って複数のフィールドを1つにまとめて表示してしまうと言う方法をとる。

つまり、姓と名のフィールドを「姓+" "+名+" "+会社名」というふうにまとめて表示するようにする。 (計算フィールドはBento for iPhoneでは作ることができないので注意)

ついでに、郵便番号+都道府県+市区町村+番地もつなげたフィールドを作っておいた。




これで、かなり見やすくなると思う。 あと気になるのは「メディアまたはチェックボックス」のところ。 通常でいうと人の写真などを表示することになるのだろうけど、アドレスデータに入っている人全員の写真データがあるはずがない。 写真があるものと無いもので文字がズレて表示されてしまうのがなんとも気になってしまう。

もし、これが気になる人であればチェックボックスフィールドを作ってここに配置しておくといいかもしれない。 チェックボックスであればリスト表示の状態でチェックのオン/オフができる。 Bento for Macで後から編集する予定のものなどに印(マーク)を入れておくといった使い方もできる。

電話番号の書式をどうするか考えてみる

iPhoneやMacで利用する連絡先情報はいろんなところから保存できる。
Macのアドレスブック.appやiPhoneの連絡先アプリブラウザ上のiCloudBento for iPhone(FileMaker,inc.)などからだ。

で、電話番号を入力するときにちょっと気になるのは市外局番など区切りを入れるかどうか。
入れるにしても半角スペースにするかハイフン(-)にするかということ

まあ、電話がかかれば、そんな細かいこと気にしないという人はいるだろうけど私は結構気になるタイプなので調べてみた。

ほとんどの方法では自由に保存(登録)できるのだが、一番便利なのがiPhoneの連絡先アプリだ。 これで入力すると携帯電話の090を入力したあとに自動的に半角スペースが入る。 市外局番の区切りのルールは自分の住んでいるエリアだったら分かるがそれ以外のなじみのないところではよく分からないものだ。 仮にハイフンを入れたいと思っても、iPhoneでは電話番号を入力するときはソフトウェアキーボードがテンキーになるためハイフンを入れることが出来ない。 ちなみに、ハイフンが入った電話番号でもiPhoneでは半角スペースで区切った表示に自動的に変わって見える(実際にデータからハイフンが削除されるわけではない)

クセがあるのがブラウザ上のiCloudの連絡先だ。 ここでは数字を入力すると自動的に区切られて表示されるのに、実際は区切りなしの連続した数字の入力になっている。 更に、Mac上で半角スペースやハイフンを含む電話番号をテキストエディットなどで入力し、ブラウザ上のiCloudにコピー&ペーストすると自動的に取り除かれ数字だけの情報になってしまう。

一番自由度が高いのはMacのアドレスブック.app。 入力書式は自由だし、環境設定の電話で「電話番号のフォーマットを自動的に変更」にチェックを入れていると入力書式に左右されず、自分で表示書式を設定できる。

このように、いろいろな所から情報を入力編集している人は気付いたときには電話番号の書式がバラバラになっていると思う。 Bento for Macなどでアドレスブックの情報を表形式で一覧表示すると一目瞭然。

結局、どの書式に統一するかとなると、個人的にはiPhoneで入力したときに自動的に補正される半角スペースを挿入したものが良さそうに思う

(追記:すでに入力したものに関しては、楽に修正できるようにこんなものを作ってみた。 携帯電話番号に区切りを入れる  ハイフンを半角スペースに置換する

Windows環境でブラウザでiCloudにログインして電話番号を編集したい人は区切りなしになってしまうけどそこはあきらめるしかないかも。(それか、グループ分けに利用するだけで電話番号の入力にはiPhoneからだけにしぼるとか・・)