これも昨日作った 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 の資料がある。
関連リンク
- AppleScript Overview (Mac OS X Reference Library)
- AppleScript Language Guide (同上)
 
0 件のコメント:
コメントを投稿