2012年2月15日水曜日

ファイルを選択(拡張子を指定).scpt

ダウンロード:chooses_by_an_extension.zip(5KB)
(* 
動作説明:
最も手前にあるFinderウインドウの中からダイアログで指定した拡張子のファイルのみを選択することができます
ダイアログには現在選択されているファイルの拡張子が自動入力されます


使い方:
このスクリプトをAppleScriptエディタ.appの書類ウインドウにコピー&ペーストして「ユーザー・スクリプト・フォルダ」(~/Library/Scripts)に適当な名前を付けて保存してください。
メニューバーのスクリプトメニューから実行できます。
Takayuki Ueno

*)

tell application "Finder"
--activate
try
set objList to selection
set wCount to count of Finder window
if objList ≠ {} then --選択されたファイルがあるかどうかで条件分岐
set extName to name extension of item 1 of objList
--複数選択されたファイルの代表としてitem1の拡張子(name extension)を変数に格納する。
else
set extName to ""
end if
display dialog "選択したい" & return & " ファイルの拡張子(.を含まない)" & return & "を入力して下さい。" default answer extName buttons {"キャンセル", "OK"} default button 2 with icon note
set ans to result --ダイアログの結果を変数に格納
set targetExt to text returned of ans
--ダイアログで入力されたテキスト(拡張子を示す文字列)を変数に格納
if wCount ≠ 0 then
set tergetList to (document files that name extension is targetExt) of Finder window 1
else
set tergetList to (document files that name extension is targetExt) in the desktop
end if
--指定した拡張子のファイルのリストを変数に格納
select tergetList
end try
end tell



2012年2月13日月曜日

AppleScriptを使って複数のファイルを選択

Finderでフォルダの中にある複数のアイコンを選択する方法には、マウスでドラッグしたり、shiftキー(または⌘キー)を押しながらマウスでクリックしたりするのが基本だけど、フォルダ内にごちゃ〜っとあるファイルを選び出して、それを移動したりするのは結構手間がかかったりする。

例えば、「ダウンロード」フォルダの整頓。

この中にはZipで圧縮されたファイルやオンラインウェアなどをダウンロードしたときのdmgファイルなど知らない間に溜まってしまうことが多い。 これを整理するためにフォルダ分け・ラベル付け・ゴミ箱行きとするには、まずファイルを選択状態にする必要があるのでこの作業を楽にする方法を考えてみる。

ありがちな複数のファイルの選択とは・・・

  1. 同じ拡張子の付いたもの選択したい。
  2. ファイル名に同じ文字列を含んだファイルを選択したい。等
具体的には・・・。
  • ダウンロードした説明書のPDFがたまってきてしまったとき
  • オンラインウェアやドライバのディスクイメージがたまってきたとき
  • 定期的にカード会社や携帯キャリアから利用明細のCSVファイルなどをダウンロードしていてたまってきたとき
  • デスクトップにメモとして残しておきたいスクリーンショットがたまってきたとき
こういったことは数が多くなってくるとかなり面倒になる。
この面倒な作業を簡単にするにはAppleScriptが便利。

ということで

上記のような状況でファイルを選択するAppleScriptを考えてみることにした。

つづく・・・。

------------------- 追記 ----------------

同じ拡張子のついたファイルを選択するスクリプト

指定文字列を含むファイルを選択するスクリプト


__________________________________________________________

Amazon.comにあるAppleScript関係の書籍
__________________________________________________________

2012年2月12日日曜日

使えるようになると便利なAppleScript

 MacOSを使っている人なら一度は聞いたことのあるAppleScript(最近ならAutomator?)というものがある。 Mac Fanなどの雑誌でもたまに記事になって何となく「使ってみたいな〜」なんて思うけど、やっぱり少々敷居が高く使い方が分からない。ちょっと調べればMacで行う作業の自動化に使えることぐらいは分かるが、 何に使っていいかイメージできない。 ユーティリティフォルダの中にあるAppleScriptエディタ.appを起ち上げて記録ボタンを押してみても全てのFinder操作を記録してくれるわけでもない。


 よく紹介されているのはFinderで複数のファイル名を一気にリネームして連番をつけることができるというもの。 同じファイルタイプで数のあるファイルとなると思い当たるのは写真データとなるが、一般的なMacユーザはiPhotoを使うので写真のファイル名なんてまったく気にする必要がない。 そもそも、ここ最近の流れとしてAppleはファイルの存在を意識しなくても良くしようとしている。 でも、ちょっとステップアップしてMacを駆使して色んなことを効率良くやってみたいな〜と思う人はこのAppleScriptを利用するといいかもしれない。

ということで、個人的にはありそうなシチュエーションとAppleScriptを何個かじょじょに紹介しようと思う。

プログラミングでまず重要なことは「やりたいことを具体的に思い浮かべること」だと思う。 実現する方法を考えるのはその後の話・・・。

でも、まずはAppleScriptを実行するための準備が必要なので、その方法を説明すると・・・。


  1. ユーティリティフォルダの中の「AppleScriptエディタ.app」を起動し、「環境設定...」を開く。
  2. メニューバーにスクリプトメニューを表示」のチェックボックスをチェック
  3. コンピュータスクリプトを表示」のチェックボックスのチェックをオフ
  4. アプリケーションスクリプトの表示場所」は上を選んだ方が便利かも

これで、メニューバーの右に紙がペロンとカールしたような黒いアイコンが表示される。

3.に関しては、チェックを入れておけば元から用意されたサンプル的なスクリプトが利用できるのだけれども、英語だし特に便利と感じるようなものでもないので邪魔なので非表示でいいと思う。
4.は上の画像で「グラブ スクリプトフォルダを開く」とすることで~/Library/Scriptsの中に自動的に「Applications/グラブ」フォルダが作られる。 これはこのメニューを実行したときのアプリが何かで決まるので、このスクリーンショットを撮るときにグラブ.appを利用していただけということになる。 Finderのときにこのスクリプトメニューを表示すれば、「Finder スクリプトフォルダを開く」になる。
ここにFinderに関係するスクリプトを入れておけば他のアプリで作業している時はFinderに関係するスクリプトが表示されないので邪魔にならなくなる

このスクリプトメニューはAppleScriptを実行するランチャーのようなもの。 このメニュー直下に表示されるものはライブラリフォルダ内の「Scripts」フォルダの中のファイルなので、自分で「AppleScriptエディタ.app」で作ったAppleScript書類はユーザ・スクリプト・フォルダに保存(場所は上の画像のように選べば開くことができる)して使いたいときにここから選択すれば実行されるというもの。 ちなみに、AppleScript書類以外も開くことができるので、スクリプトの勉強に使うメモ等も一緒に入れておくのもいいかもしれない。

追記:
Amazon.comでAppleScript関係の書籍を探してみると最近のものはほとんど無さそう。 私は周りにプログラミングをしている人がいなかったのでAppleScript Programming for Mac OS X ―Mac OS X v10.2対応で勉強し、我流で覚えました。

2012年2月9日木曜日

GmailとiPhoneの連絡先をexchangeで同期するとおこる問題

iPhone上のGmailアドレスで分かった問題の記録
  1. iPhone(exchange同期)上の連絡先データを編集・保存すると、メールアドレスのラベルがブラウザ上のGmailで「その他」になってしまう。
  2. 関係の項目がiPhone上では、アシスタント上司(iPhoneではマネージャ)・配偶者の項目だけが表示される。(他の項目は表示されていないだけで削除はされない)
ん〜。
メールアドレスのラベルが変わってしまうのは問題・・・。 メールアドレスを複数登録していて、めったにやり取りしない人だったら区別がつかなくなりそうだ。

Gmailの連絡先をexchange同期でiPhone上で使うのであれば、仕事相手の情報だけにし、たとえプライベートのメールアドレスを知っていたとしても、そのデータはiCloudに保存した方がいいかもしれない。

Googleの問題ではなくMicrosoft Exchangeの仕様の問題?

GmailとiPhoneの連絡先をexchangeで同期することについて

つい今さっき、ブラウザ上のGmailの連絡先のフリガナを「ひらがな」で入力し、iPhoneで姓名の逆転があるか確認してみたら、exchange同期のiPhone側でも姓名が逆転せずに正常に表示されていた! Googleサイドで何か修正が入ったのだろうか?

ただ、iPhone上でその連絡先を編集・保存するとふりがなデータを触っていなくても自動的にブラウザ上のGmailのふりがなが「カタカナ」に変更される。 (iPhone上ではひらがなのままの表示されている)

GmailからエクスポートでMobileMe(iCloudも?)に連絡先データ何度も移すような人は、ふりがなを「カタカナ」にするか「ひらがな」にするか悩ましいところだ。
Google側でGmailから vCard 形式(Apple アドレスブックやその他のアプリケーションへのインポート用)という項目を用意するぐらいだから、vCardに書き出すときに平仮名に自動変換してくれればいいのに。 


※ ちなみにWindows(Microsoft)の文化としては「ふりがな」はカタカナ?

ちなみに検索する場合、カタカナとひらがなの区別はされるのかもちょっとチェックしてみた。

10.6snow leopardのSpotlightとブラウザ上のGmailでは「カタカナ」と「ひらがな」は区別されているようで、カタカナの連絡先データはカタカナで検索しなければヒットしなかった。 iPhoneではMobileMe上のカタカナの連絡先を「ひらがな」で検索してもヒットする

日本語のインプットメソッドのことを考えると、ふりがなを検索するときにはカタカナではなくひらがなであったほうが文字変換がいらないので自然だと思うのだが、何故Googleはふりがなをカタカナにするのを推奨しているのだろうか? 日本のいろんな書類がフリガナを半角カタカナで利用していたのを引きずっているのだろうか? Windowsの文化に合わせている?


インプットメソッドがカタカナ変換を自動学習してしまうのは非常にいやな感じ。 変換候補のトップにカタカナが出てくるのはどう考えても非効率になる。 できれば修正してほしいところ。

ということで、ここまでは分かったがベストな運用法はまだ思案中。

GmailサービスとMobileMe(iCloudも?)の上手な棲み分けと連携を考えるには少々時間がかかりそうだ。