Option Explicit(ステートメントエラー), WScript(オブジェクト認識されない)

  1. こんにちは、最近Meryを使わせて頂くようになりました。使いやすくてとても重宝しております。
    さて、
    自分で書いたvbsをMeryから実行する時にエラーが出るので仕様なのかどなたかご返答いただけますか。
    Meryのバージョンは”Build: 2.2.1.4937”です。

    1. Option Explicit ⇒ ステートメントエラーが表示される
    2. WScript ⇒ オブジェクトとして認識されない

    1についてはmery.txt中に2008年頃修正したとありますが、なぜかエラーが出ます。
    以下に作成したメモ帳を起動するvbsを記載します、将来的には別のプログラムの起動に発展させるつもりです。
    よろしくお願いいたします。
    ----- vbs start ------
    Option Explicit
    'メモ帳を起動する
    dim objShell
    Set objShell = WScript.CreateObject("WScript.Shell")
    WScript.Echo "メモ帳を起動します。"
    ----- vbs end -----
    objShell.run "notepad.exe"

     |  noyaki  |  返信
  2. ●noyaki さん
    vbs でマクロを書く方を見るのは初めてですね.

    > 1. Option Explicit ⇒ ステートメントエラーが表示される
    確かに動作しませんね.履歴では修正したと書かれていますが……
    コレについては Kuro さん待ちですかね.

    > 2. WScript ⇒ オブジェクトとして認識されない
    マクロには WScript オブジェクトが存在せず,マクロに用意されている window オブジェクトが最上位オブジェクトになります.
    マクロで用意されているオブジェクトの詳細は「http://www.haijin-boys.com/wiki/マクロリファレンス」を参照して下さい.
    WScript オブジェクト相当の機能は次のようになります.
    WScript.ScriptName => ScriptName
    WScript.ScriptFullName => ScriptFullName
    WScript.Echo => Alert
    WScript.Quit => Quit
    WScript.Sleep => Sleep
    WScript.CreateObject => CreateObject

    次の VBScript で動作を確認しました
    ----- vbs start ------
    'メモ帳を起動する
    dim objShell
    Set objShell = CreateObject("WScript.Shell")
    Alert "メモ帳を起動します。"
    objShell.run "notepad.exe"
    ----- vbs end -----

     |  ks  |  返信
  3. ks さん、サポートありがとうございます。

    > 1. Option Explicit ⇒ ステートメントエラーが表示される

    確認いたしました。
    一度修正したものの、マクロの #include 指令に対応した際にマクロの実行ロジックを変更したため再発するようになっていたようです。次バージョンでは修正しておきます。

     |  Kuro  |  返信