2010-08-13

AppleScript を使って URL を Safari のタブで開く

これも昨日作った Automator のワークフローの一部。

Safari を起動したとき、いつも同じ URL を開く。それが一つならホームページとして設定しておけば良い。けど複数あったらどうすれば良い? Firefox なら、複数のページをホームページに設定できる。起動時に各ページが別のタブで開かれる。残念ながら Safari ではこれができない。タブを開きながらブックマークや Top Sites からページを開く。そういう作業こそ自動化したいもの。

1 行目、そして 18 〜 19 行目は、Autometor のアクションとして使うときのオマジナイ。この AppleScript 単独で(AppleScriptエディタから)実行する場合は、この 2 行は取り除くこと。4 〜 16 行が本体部分。AppleScript について書かれたページを、ググって探し、いくつかのサンプルを切って貼ってできあがったものだ。

  • 4 行: 開きたい URL のリストを変数(urlList)にセット
  • 5 行: リスト内の URL の個数を変数(numURLs)にセット
  • 6 行: Safari に対して以下の Apple イベントを送る
  • 7 行: Safari ウィンドウの位置とサイズを指定
  • 9 行: まず、1つめの URL を開く
  • 10 〜 15 行: 新しいタブを作りながら、与えられた URL を開いていく
(safari_init.scpt)
1: on run {input, parameters} 2: 3: (* Your script goes here *) 4: set urlList to {"http://logrepo.blogspot.com", "http://www.google.com/", "http://www.google.com/reader/view/", "http://twitter.com/"} 5: set numURLs to (count urlList) 6: tell application "Safari" 7: set bounds of window 1 to {0, 22, 1024, 1350} 8: activate 9: set URL of document 1 to (item 1 of urlList) 10: tell window 1 11: repeat with i from 2 to (numURLs) 12: set current tab to (make new tab) 13: set URL of document 1 to (item i of urlList) 14: end repeat 15: end tell 16: end tell 17: 18: return input 19: end run

この程度のことならググって試行錯誤を繰り返せばなんとかなる。AppleScript のことをほとんど知らなくても大丈夫。これ以上になると、AppleScript のことを勉強した方が良いだろう。Mac Dev Center の Mac OS X Reference Library に AppleScript の資料がある。

関連リンク

関連記事

0 件のコメント:

コメントを投稿