H.M.F.B AppleScript.



さてさて、、今回はInternetExplorer5.0のスクリプトを紹介します。 実は僕Netscape4.7をメインに使っています、でも、ここを見てくれる方はIEを使用している方が多いんですね、、 あと、僕もIE5.0を使いたいのですが、、僕のすでに非力となった環境では、、サクサク動かなかったりもします、、うるうる。。

と、まぁ、今回はお勉強的にIE5.0の用語辞書の説明をしたいと思います(わからないところがあるのでそれは今回省きます、、すいません、汗)


000
001
002
003
004
005
006
007
008
009
010
011






tell application "Internet Explorer 5.0"
  
  --Required Suite
  --run --起動時には1枚、さらに実行するともう1枚ブラウザを開いてくれたりもする
  --open (choose file)
  --open alias "Macintosh HD:Desktop Folder:test.txt"
  --open {alias "Macintosh HD:Desktop Folder:test.txt", alias "Macintosh HD:test1.html"}
  --print alias "Macintosh HD:Desktop Folder:test.txt"
  --quit--アプリケーション終了
end tell

さて、どのアプリケーションでも対応しているという、Requied Sute、Internet Explorer 5.0での動作はどういったものか? 紹介します。
(コメントタグ「--」としてありますが、使用する時はアクティブにしてくださいね、、)

004行目 run
runハンドラで使用するものですね、IEでは起動していなかったら、起動して一枚ブラウザを開きます。 IEが起動している場合はもう一枚新規にブラウザを開きます。

ちなみにrunというのは、アイコンなんかをClickした時に発生するもので動作はアプリケーションによって違います。(と思う。)

005〜007行目 open
openでは、alias形式でファイルを指定します。 例のようにchoose file でも、OKですし、普通な006行目のalias "Macintosh HD:〜〜〜ファイル名" でも、かまいません、さらにaliasのList形式もOKですので複数のファイルを開く事も可能です。

動作:リスト形式で指定した場合は指定された分のwindowとその中身のファイルを開きます。 この辺はopen alias "ひとつ" というのと、 open {alias "ひとつ", alias "ふたつ"} ←というのを複数回実行してみて確かめてください。

008行目 print
そのまんま、alias形式で指定する事によりファイルをプリントします こちらもalias形式とlist形式に対応しているので色々なことに使えますね、、。

009行目 quit
説明のしようがないのですが、アプリケーションを終了します。



000
001
002
003
004
005
006
007






tell application "Internet Explorer 5.0"
  --Standard Suite

  --get 参照 as "クラス識別子"
  --selected text--現在選択されているテキストを返す
end tell

(実行する際にはコメントタグ「--」をとってから実行してください)

004行目 get 参照 as クラス識別子
これは、いまいち使い方が理解出来てないのですが、参照を返してきたり色々な値を返して来ます(参照されたもののね、、)そしてasでは、クラスの変換を行ないgetで参照された値を変換します。

005行目 selected text
これは、IE5で現在選択されているテキストを返してくれます、、先週やったSherlockと組み合わせてみました、、また面倒な人は、、こちらをD/L→ 022-IE5toSherlock2.sit

↓これIEユーザーなら結構便利だと思いますよ、、OSA Menuか、Appleメニューに入れて使ってね
・動作:IE5でブラウズ中にワカラナイ言葉などをChoiceし、OSA Menu(003で紹介済み)かAppleメニューからアプレットを起動することにより、Sherlock 2でその単語を検索する。
・ブラウズがもっと便利になりますー、、検索タブより便利、、(でもないか、、笑)

000
001
002
003
004
005
006
007
008
009
010
011
012






tell application "Internet Explorer 5.0"
  selected text --現在選択されているテキストを返す
  set SelData to result --set SelData to selected textではエラーが出たので?その処理
end tell



tell application "Sherlock 2"
  activate
  search Internet in channel "インターネット" for SelData with display
end tell


000
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017






tell application "Internet Explorer 5.0"
  --Web Browser Suite

  --OpenURL "http://homepage.mac.com/jinjin/applescript/" toWindow 1
  --OpenURL "" FormData ""
  --ShowFile alias "Macintosh HD:Desktop Folder:test.txt" ツ
  --  Window Identifier -1 URL "http://homepage.mac.com/jinjin/"

  --CloseAllWindows--Resultがbooleanだが、、、汗 trueしか返してこないのは何故、、
  --CloseWindow Title "Yahoo! JAPAN" --ID -1
  --Activate
  --ListWindows
  --GetWindowInfo
  --ParseAnchor "http://homepage.mac.com/" withURL "jinjin/applescript/"

end tell

(実行する際にはコメントタグ「--」をとってから実行してください、また007、008行目は実際は1行で記述してください。ここではページの幅の関係で2行にして記述しています。)

004〜005行目 OpenURL
OpenURLでは、大雑把にいうと2つの処理が出来る、1つ目は、ブラウザに表示する。 2つ目は、データをポスト出来る(BBSなんかを想像してください)

    OpenURL "http://homepage.mac..com/jinjin/"
    一番手前のWindowにそのURLを表示させる。
    OpenURL "http://homepage.mac.com/jinjin/" to (file specification)
    という指定が出来るのだが、(file specification)の使い方がわかりませんので、判明次第こちらにアップしたいと思います。
    OpenURL "http://homepage.mac.com/jinjin/" toWindow -1〜無限の数字。
    ここでは、どのWindowにそのURLを表示させるのか?というのを指定します。(ListWindowsの数字と思って構わないと思います(後説明))また「-1」ではトップWindowに表示させますがそのトップというのは一番手前のWindowの事です。 また「0」を指定した場合は新規にブラウザを開きそこに表示させます。
    OpenURL "http://homepage.mac.com/jinjin/" Flags (数字)
    ここでは、ページ読み込みの際の動作?が指定出来るようです、「1」を指定する事によりキャッシュを読み込まず生のデータを表示させることが出来るようです「2」では、イメージのキャッシュとなります。(英語力の問題でよくわかってません)「4」もよくわかってません、、汗。 これも今後の課題に、、

    OpenURL "http://homepage.mac.com/jinjin/" FormData "何とか、、かんとか"
    これはpostするデータを記述します。 僕も使い方がいまいちワカラナイのですがホームページを作っているかたや、CGIの知識が有れば使用出来ると思います。 ちょっとどういう風に使用するかわからなかったので省略します(判明しだいここにアップします)
    OpenURL "http://www.kis-net.ne.jp/user/atjin/" FormData "なんか" MIME Type "なんか"
    これもいまいち理解してません、MIMETypeというのは、マルチプロトコルインターネットメールエクステンションス、、の略なんですが、これはメールで使用される通信言語?なんですね、ちなみに、GIFイメージのMIME Typeは、image/gif ←とかこんな感じです。
    でもやっぱり使い方はわかりません、、ですが、MIME type of data being posted などと用語辞書に書いているのできっと、FormDataとあわせて使うんでしょうね、、?(これも今後の課題)

006行目 ShowFile
これはローカル上のファイルを表示させる時に使うと思って良いと思います。指定はalias形式で行ないます。 またMIME Typeの設定のMIME Type、ターゲットWindowのWindow Identifier (数字) URL "http://" などがあります、この最後の URLに関しては、例えばローカルファイルを表示させてはいるがLocationの欄にここで指定したURLを表示し、さらにブラウザをリロードする事により指定されたURLへ再読み込みをします。

MIME Typeを指定したファイルを開いた場合には、ヘルパーアプリケーションが開く事もあるようですが、、、? またWindow Identifierは、OpenURLでいうtoWindowですねー、

009行目 CloseAllWindows
そのまんま、全てのWindowを閉じます、また結果としてbooleanを返してきますが、true以外返ってきた試しがないような気がします、、? なんでだろう?

010行目 CloseWindow Title "Yahoo! JAPAN" --ID -1
ここでは、CloseするWindowを指定する事が出来ます。上記の例では、Yahoo! JAPANというタイトルを指定して閉じています。 またID 数字 という形はListWindowsと同じwindowの数字で閉じる事も出来ます。また「-1」を指定することにより、top windowを閉じる事も出来ます。

011行目 Activate
Internet Explorer5.0では、activateがシステムで使用しているものではなく指定出来ます。
Activate (数字) という形でどのWindowを一番手前にもってくるのか?を指定する事が出来ます。(数字は ListWindowsの値です)またresultはその数字を返します

012行目 ListWindows
ListWindowsでは、現在IEで開いているWindowのIdentifier(識別子:数字)をリストで返してきますので、これを実行してからwindowを指定してあげると良いでしょう、
なぉ、そのIdentifierの規則は1枚目のWindowが1となり、それ以後開いたり閉じたりしても開いた分だけカウントされていきます。(アプリケーションを終了するとまた1からはじまります)

013行目 GetWindowInfo (数字:ListWindowsの数字)
こちらでは、現在表示中のWindowのInfoをリストで返します、Infoというのは、
{"URL","タイトル"} というかたちです。
{"about:blank?untitled=yes", "名称未設定"} ←こちらは空白WindowのWindowInfo

014行目 ParseAnchor "http://homepage.mac.com/" withURL "jinjin/applescript/"
これさっぱりわからなかったのですが、多分URLを繋げるんですね、、キット、、汗。
上記の例の実行結果はhttp://homepage.mac.com/jinjin/applescript/ となります。


000
001
002
003
004
005
006
007






tell application "Internet Explorer 5.0"
  --Microsoft Internet Explorer Suite
  --GetSource --ListWindowsと同じ数字を指定無い場合はfrontmost Window
  --do script --スクリプトのトリガー?? Windowを指定出来る。
  --PrintBrowserWindow --フリーズしてしまう為不明。
end tell

ここは、まったくよくわからないです、、汗。

003行目のGetSourceでは、指定したWindowのHTMLソースを返してくるのですが、2バイト文字が文字化けしてしまうため使えないです、(何かに変換出来れば良いのですが、、。)

004行目 do script
これは、JavaScriptの制御をAppleScriptから行えるようなのですがちょっと、、汗 (恐らくjavaScriptのトリガーをここでバキューン♪と出来ると思うのですが、後で確かめてみます) windowも指定出来きます。

005行目 PrintBrowserWindow
これは、僕の環境だと完全にフリーズしてしまう為なにやら解りません、、調べときます。


000
001
002
003
004
005
006
007






tell application "Internet Explorer 5.0"
  --Netscape Suite

  Open bookmark alias "ネスケのBookmark.htmlの場所" --choose fileでも可

end tell

Netscapeをメインにしているユーザーにとっては、これとっても良いです!!

NetscapeとIEの両方を使用したい方の為に出来ているようなものです、、、が、Netscape側にIEのブックマークをそのまま読み込むと区切り文字が違う為ちょっと汚いブックマークになってしまいます。

これは、簡単にいうと、ネスケのブックマークをインポートするスクリプトです、(インポート前のIEのお気に入りファイルは消滅しますが、、汗)

またこれは後でブックマークの変換出来るアプレットを作りたいと思っているのでBookmark、お気に入りは何か作ってみますね、、。


いやー、、お疲れさまっす、、今回は沢山あったので時間掛かってしまいました、、(でも、少ない方なんだけどね、、)全部、、僕も理解していないし、間違って説明している所もあるかもしれませんが臨機応変?(爆)で、お願いします、、。
OpenURL辺りがあやしいなぁ、、汗。

ということで、Internet Explorer5.0の用語辞書説明を終了します。またこのページは更新する事もありますよー、、。あと、OutlookExpressもスクリプトが沢山あるので、そちらもおって紹介したいとおもってまーす、、(って、僕Eudora使ってるんだけども、、(爆))
つーことでまたよろしくー♪ (^o^)/~~~またねー。



(c)HandyMacForBeginner's