VBScript(VBS)をVisual Studio 2019でデバッグする方法の覚え書き

image

VBScript(VBS)をVisual Studio 2019 2017でデバッグする方法です。
2021/8/9追記: VS2019でも全く同じ手順でデバッグできることを確認しました。

VBScript用のプロジェクト作成

プロジェクトの種類を

他の言語 – Visual C++ – その他 – メイクファイル プロジェクト を選択します。
もし上記のプロジェクトが見つからない場合、再度インストーラーに戻り、C++関連を追加してください。

C++ – その他 – メイクファイルが見つからない時の対処法


名前と場所は任意で付けます。(図は2017の場合)

image

VS2019の場合

プロジェクトの設定

ここから先はVS2017もVS2019も全く同じです。
何も入力も、変更もせず完了をクリックします。

image

プロジェクトエクスプローラから赤丸で囲ったフォルダを右クリックして削除します。
カーソルで選んでDelキーでもOK

  • ソース ファイル
  • ヘッダー ファイル
  • リソース ファイル
image

プロジェクトへデバッグ対象であるVBScriptプログラムを登録する

ソリューションエクスプローラを右クリックして、エクスプローラでフォルダを開くを選択します。

image
image

既存のVBScriptファイルをここに置くか、
新規作成でテキスト文書を作成し、TestProgram.vbs 等にリネームします。

image
image

上記 TestProgram.vbs を、ソリューションエクスプロラーの赤丸で囲ったところへドラッグ&ドロップします。
以下のような画面になるはずです。

image

wscript.exeとの関連付け

デバッグできるように、プロジェクトとWScript.exeを関連付けます。

ソリューションエクスプロラーに追加したプロジェクトの1つ下の階層を右クリックしし、プロパティを選択します。

image

プロパティの設定ページが開くので、

全般 – 構成の種類 – ユーティリティ を選択する。

image

構成プロパティーデバッグで、

  • コマンド
    WScript.exe
  • コマンド引数
    TestProgram.vbs  //X

と設定してOK。
気の利いた環境変数とかあればよかったのだけど見つけられなかったので赤文字のところはvbsのファイル名を入力します。

image

以上で設定は完了です。
入力中にヒントも表示されます。
どうやらVB.netかC#か何かのサジェストが表示されているようです。

image

2021/8/9 Win10+VS2019環境で環境構築したときはここまでの手順でデバッグできました。
デバッグできない時は後述のエラー及び、Just-in-timeの項を確認してください。

エラー    MSB8036    Windows SDK バージョン 8.1 が見つかりませんでした。必要なバージョンの Windows SDK をインストールするか、プロジェクト プロパティ ページで SDK バージョンを変更するか、ソリューションを右クリックして [ソリューションの再ターゲット] を選択してください。    と表示された場合の対処方法。

実行をしようとすると、エラー MSB8036が発生しました。
どうやらSDKが必要なようです。

image

Visual Studio Installerを起動します。

image

個別のコンポーネントを選択し、Windows 8.1 SDKにチェックを付けます。

image

変更をクリックしてインストール開始しますが、その前にVisual Studio 2017を終了させておきましょう。
終了させたら開始をクリックします。

image

インストールが開始されました。

image

完了したら、Visual Studio Installerを終了させて、Visual Studio 2017を起動すれば完了です。

VisualStudio 2017を使ったVBScriptのデバッグ

簡単なプログラムをデバッグしてみます。

Dim A
Dim B

A = InputBox(“A=”)
B = InputBox(“B=”)

MsgBox(“合計は” & A + B & “です。”)

F5で実行すると、以下のウィンドウが表示されます。

image

OKをクリックすると、もう一つVisualstudio 2017が立ち上がってきて、デバッグが始まります。
此処から先はいつもどおりのデバッグの操作が一通り出来ます。

image

ブレークポイントを設定したり、ウォッチ式を設定することが出来ます。
123+234=357を期待していたのですが、意図したとおりになっていませんね。 (^^;

image

正しく修正されました!

image

ブレークポイントを設定しているのに有効にならない場合

わきすけ様よりコメントにて、「デバッグ – Just-In-Time」の「スクリプト」にチェックが入っていないと、ブレークポイントを設定してもデバッグが出来ないとのことです。(コメントありがとうございます)

以下の手順で確認及び設定が可能です。

「ツール – オプション」 を選択します。

「デバッグーJust-In-Time」を選択し、「スクリプト」にチェックが入っていなければチェックをしてOKをクリックします。

以上で完了です。

コメント

  1. わきすけ より:

    有用な情報ありがとうございました!

    一点追加なのですが、私の場合オプションの「デバッグ – Just-In-Time」の「スクリプト」にチェックが入っていないと、Ctrl+F5を押してもデバッガ選択ダイアログが表示されず、ブレークポイントを無視してそのまま実行されてしまいました。

    私の勝手な願いですが、もし可能であれば本件を記事に追記していただけないでしょうか。(今後再構築があった時に絶対忘れているので、、、)

    以上、ご検討よろしくお願い致します。

    • IT土方 より:

      わきすけ様、コメントありがとうございます。
      Just-In-Timeの件、追記いたしました。
      今後とも宜しくおねがいします。

  2. 組込み土方 より:

    IT土方様
    はじめまして。とても有益な情報ありがとうございます!
    「入力中にヒントも表示されます」とありますが私の環境では表示されませんでした。原因は分かりませんがご参考までにお知らせします。
    もし解決方法をご存知でしたら情報を頂けると幸いです。
    よろしくお願いいたします。

タイトルとURLをコピーしました