VBScript コードフォーマッター

VBScript を貼り付けて「VBScript を整形」を押すと、インデントと空白が組み直され、コロン区切りの文は行ごとに分かれ、キーワード・組み込み関数・定数は標準の表記になります。スクリプトを実行せずに、ハイライトされた結果をコピーできます。

ブラウザ内でローカルに実行
コピー

VBScript を整形する手順

VBScript のファイルまたは断片を貼り付けて「VBScript を整形」を押すと、インデントと空白を組み直し、コロンで区切られた文をそれぞれの行に分け、キーワード・組み込み関数・VBScript 定数を標準の表記に揃えます。結果はボタンの下にハイライト表示されます。

スクリプトは読むだけで実行されず、変換でサーバーに送信されるものはありません。文字列、コメント、#1/1/2020 10:30:00 AM# のような日付リテラル、&HFF のような16進リテラル、Start: のようなラベルはそのまま残ります。

  1. 上の欄にコードを貼り付けるか、ページに読み込まれているサンプルをそのまま使います。
  2. 「VBScript を整形」を押します。結果は前の出力に代わって表示され、VBScript としてハイライトされます。
  3. 「コピー」でクリップボードへ、「クリア」で入力と結果の両方を空にしてから次のスクリプトへ進みます。
  4. 入力欄が空のときは整形せず、「整形する VBScript コードを入力してください。」というメッセージを表示します。

変わるものと変わらないもの

整形で書き換わる部分

インデントは、ツールが認識するブロックキーワード(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秒です。

最近使ったツール: