つれづれ電脳記(日くらしPCに向かひて)

つれづれなるままに、日くらしPCに向かひて、その悪戦苦闘ぶりをそこはかとなく書き付くるおじさん。たまに雑談[管理人:goosyun]

つれづれなるままに、日くらしPCに向かひて、デジタル関係の悪戦苦闘ぶりをそこはかとなく書き付くるおじさんです。
たまに雑談してます。連絡・問い合わせフォームは、ページ最下部に置いています。[著者(運営人):goosyun]

(当ブログには本文中に広告リンクが含まれています。)

VBAコードをVBScriptへ転用


 最近、サクラエディタ用のマクロを作るのにVBScriptが使えると分かり、にわか仕込みでVBScriptのことをかじっています。
 VBScriptの書き方は、ExcelマクロやWordマクロのVBAと、ほぼ同じです。テキストエディタで、VBAと同じような内容のスクリプトを書き、拡張子をVBSとして保存すれば、それがマクロになります。そして、そのVBSファイルはサクラエディタから実行できます。



 ところで、VBAでは、
 Sub Test()
   (実行したい処理)
  End Sub
という形で、プロシージャを書きます。

 たとえば、
 Sub Test()
  MsgBox "こんにちは"
 End Sub
という書き方になります。
 この場合、「Test」がプロシージャ名です。

 他方のVBScriptでは、プロシージャ名を書くことなんてしません。
 「Sub プロシージャ名」は不要で、いきなりMsgBox "こんにちは"
となります。
 VBAVBScriptの両者は似ているといっても、この点が決定的に違うところだなって、そう思っていました。

 ところが、そうでもないことが分かりました。
 なんと、VBScriptでも、Subプロシージャが動くのです。
 
 どうするかというと、
 Call Test
 Sub Test()
  MsgBox "こんにちは"
 End Sub
と書けばOKです。

 このように、Subプロシージャを、Callすればいいのです。
 これで、Subプロシージャが動いてくれます。
 つまり、上記のコードを書いてVBSファイルとして保存しても、実行ができます。これで、メッセージボックスが出てきます。

 これならば、VBAで書いたコードを、そのままVBScriptに転用させることだってできそうです。



それでは、また次の記事で
goosyun