VBScript を貼り付けて「VBScript を整形」を押すと、インデントと空白が組み直され、コロン区切りの文は行ごとに分かれ、キーワード・組み込み関数・定数は標準の表記になります。スクリプトを実行せずに、ハイライトされた結果をコピーできます。
ブラウザ内でローカルに実行VBScript のファイルまたは断片を貼り付けて「VBScript を整形」を押すと、インデントと空白を組み直し、コロンで区切られた文をそれぞれの行に分け、キーワード・組み込み関数・VBScript 定数を標準の表記に揃えます。結果はボタンの下にハイライト表示されます。
スクリプトは読むだけで実行されず、変換でサーバーに送信されるものはありません。文字列、コメント、#1/1/2020 10:30:00 AM# のような日付リテラル、&HFF のような16進リテラル、Start: のようなラベルはそのまま残ります。
インデントは、ツールが認識するブロックキーワード(Sub、Function、Property、Class、If/ElseIf/Else、For、Do、While、Select Case、With)から組み直し、1レベルを4スペースで書きます。=、<、>、+、-、*、/、^、& の前後の空白を揃え、カンマの後ろに空白を入れ、コード内のタブは4スペースにします。2つの文を分けるコロンは改行になり、「Case 1: y = 2」の本体はその Case の下にインデントされます。
キーワードの表記は VBScript の綴りに合わせます。if は If、endif は End If、goto は GoTo になり、Chr、MsgBox、vbCrLf、WScript などの組み込み名も同じ表記になります。1行の If ... Then ... は1行のままです。
文字列は内容を保持します。二重引用符やコロンも同じで、「10:30」は 10:30 のままです。アポストロフィのコメントと Rem コメントはその行に残るため、コメント内のコロンで行が分割されることはなくなりました。# で囲んだ日付、&HFF のような16進リテラル、1.5E-3 のような指数表記は空白調整の対象外です。Start: のようなラベルはコロンを保ちます。
スクリプトの実行、ブロックの対応チェック、構文の修復は行いません。If のない End If は書かれたまま出力されます。圧縮・難読化・名前の変更もしません。
変換はページの JavaScript によってブラウザ内で実行されます。ボタンを押しても通信は発生しないため、ページを読み込んだ後は接続がなくても動作します。
出力はそのままエディターに貼り付けられるテキストで、インデントは4スペースです。大きなスクリプトも1回の走査で処理し、150 KB のファイルはデスクトップのブラウザで約0.1秒、500 KB で約0.3秒です。