サクラエディタの外部マクロとしてrubyを使う その2
前回と同じことをするマクロのJScript部分をVBScriptに書き直ししてみました。
んー、細かい文法がJScriptを異なっているのでちょっと面倒かも。
Dim line Const rubybin = "d:\\ruby193\\bin\\ruby.exe" 'Dimだとエラーになった Const rubyscr = "d:\\zzz\\ruby\\script.rb" Dim command Dim linecnt Dim linenum ' ↓引数が複数個の場合、括弧が使えない? Editor.GoFileTop 0,0,0 ' カーソルをファイル先頭へ移動 linecnt = Editor.GetLineCount(0) ' 全行数取得 linenum = 1 ' 現在のカーソル行番号 While linenum <= linecnt line = Editor.GetLineStr(0) ' lineにカーソル行を代入 ' 文字列がオブジェクトで無い?ので直接replaceメソッドが使用できない ' RegExpオブジェクトを使用する Set objReExp = New RegExp objReExp.pattern = "\r\n" line = objReExp.replace(line, "") ' 改行コード削除 ' ダブルクォートの\によるエスケープができない ' 文字列の連結は & を使用する command = "SET /P X=" & line & "\<NUL |" & rubybin & " " & rubyscr Editor.ExecCommand command, 3 'command実行 Editor.GoLineTop(8) 'カーソルを行頭へ移動 Editor.Down() 'カーソルを1行下へ移動 linenum = linenum + 1 Wend