どことは言わないけれども、Flashの再生に多少なり需要があるみたいなんで、調べたついでに実装してみた。

PlayFlashコマンド

書式)PlayFlash ファイル名 x y width height [オプション]
 オプションには現在、「保持」のみ指定可能。
 これを指定すると再生終了時にFlashを消去しない。
 ただし、新しいFlashを再生した場合は消去される。
 再生中にウィンドウを右クリックすると、再生を中断する。

ClearFlashコマンド

書式)ClearFlash
 PlayFlashで保持を指定していたFlashを消去する。

こんな感じ。本当に再生するだけだけど、まあSRCで使うだけなら十分かな?

そしてFlashからVBにメッセージを送信する機能を良く調べてみたところ、FlashからSRCのイベントを実行することもどうやら可能っぽい、ということで調べてみた。

その結果、Flashのアクションの「GetURL」で「URL」に"FSCommand:"を指定すると、「ターゲット」に記述した文字列をVBに受け渡しできることが分かった。
なので、

  1. 「URL」に"FSCommand:"
  2. 「ターゲット」に「サブルーチン名 [引数1 [引数2 […]]」

を指定すると、「ターゲット」の文字列からCall関数の文字列を生成することで、サブルーチンの実行が可能という結論に。

で、実装して次のようなコードでテスト。
Test.swfから送信されるメッセージは「LOLI PANT」か「「LOLI SPATS」。

スタート:
 PlayFlash Test.swf - - 200 200 保持
 Confirm "再生終了"
 ClearFlash
 Confirm "消去完了"
 Quit
Exit

LOLI:
 Confirm Args(1)
Return

実行してみると、ちゃんと画面に「PANT」とか「SPATS」とか表示された。バンザイ。