実際にスクリプトを実行せずに VBScript の構文を検証するための優れたユーティリティはありますか?
私が得ているのは、次のようなことをした場合です:
If (year == "2005" && type == 1) Then
...
End If
「&&」は実際には「And」であり、「==」は「=」である必要があることを教えてくれるツールはありますか?
実際には何も実行したくないためにスクリプトを実行したくない場合、私が使用した1つの方法は、スクリプトの先頭(Optionの後)に「WScript.Quit」ステートメントを挿入することです。明示的(存在する場合))次に、cscript.exeまたはwscript.exeを使用して実行します。
例えば:
Option Explicit
WScript.Quit
Dim year
If (year == "2005" && type == 1) Then
WScript.Echo "Hello"
End If
これは未定義の変数(上記の「type」など)をキャプチャしませんが、正しい構文を持っていることを確認するための簡単で迅速な方法です。
私は同じものを探しています。aspのコンテキストでvbscriptを使用している場合は、http://aspclassiccompiler.codeplex.com/と呼ばれるものがあり、これは明らかにクラシックaspをasp.netにコンパイルします。
これにより、ある種のコンパイル時エラーが発生すると思いますので、コンパイル中に構文エラーが報告されると思います。まだ試していません。
Visual Studio(確かに2005)は、構文の強調表示を行い、登録済みdll用のIntelliSenseを提供します。これにより、検証済みの構文に非常に近くなります。
それ以外は通訳言語なのでできることはたくさんあります。最良のシナリオでさえ、「自分のマシンで動作する」状態を保証するだけです。
残念ながら利用可能なコンバーターはないと思いますが、vbscript 構文がかなり簡単であることを考えると、おそらくかなり簡単に変換できます
実は、方法はあると思います。スクリプト コントロールには、HTML VBScript の Eval メソッドに似た Execute メソッドが含まれています。文字列を指定すると、構文がチェックされます。
ここからまだ入手できます。 http://www.microsoft.com/downloads/details.aspx?FamilyID=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en
この古い MSDN 記事では、アプリにスクリプトを追加する方法について説明しています。 http://msdn.microsoft.com/en-us/magazine/cc302278.aspx
スクリプト コントロールに関する MSDN の記事 http://msdn.microsoft.com/en-us/library/aa227633(VS.60).aspx
このようなもの..(インスタンス化がわからない)
Dim ScriptControl1 as New MSScript
ScriptControl1.ExecuteStatement “If (year == "2005" && type == 1) Then..End If”