[戻る]

コメント関連マクロ(WSH)
 −「真魚」エディタ用  →画像

コメント関連マクロ commentout.vbs  commentout.lzh
〔コメント関連マクロ追加〕
コメント化(インデントなし) commentout_2.vbs  commentout_2.lzh
コメント化(インデントなし) CommentOut.bas  CommentOut.lzh … MS-Word用
コメント解除 r_comment.vbs  r_comment.lzh
コメント解除 R_Comments.bas  R_Comments.lzh … MS-Word用
タブインデント tabindent.vbs  tabindent.lzh
タブインデント 2 tabindent_2.vbs  tabindent_2.lzh
インデント解除 unindent.vbs  unindent.lzh
インデント解除 2 trim_indent.vbs  trim_indent.lzh
(クリックするとテキストファイルがそのまま表示されてしまうので、スクリプトそのものをダウンロードするには画像か圧縮ファイルの方をクリックする。)
[コメント関連マクロ]選択中の行をコメントアウトする。選択した文字列を取得する方法がWSH標準に見当たらないため、エディタ「真魚」から使う。
[コメント化] 'をつける。インデントはしない。[コメント解除] 'を削除する。
[タブインデント] タブでインデントする。[インデント解除] タブインデントを解除する。
【使い方】
《commentout.vbs》その他のVBScriptの使い方は下の画像を参照。必要な行を選択し、マクロを実行するだけでよい。「真魚」エディタでスクリプトを書くときに、VBエディタのようなコメントアウトができる。
[その他] それぞれ実行するだけである。いずれも「真魚」エディタのGetSelTextとSetSelTextのメソッド(プロパティ)を使用しているので、このエディタから使う。その他のエディタ固有のメソッド(プロパティ)の扱いについては、例えば「文字種別カウント」の項目を参照してほしい。
《CommentOut.bas》《R_Comments.bas》MS-Wordに組み込んで(インポートして)使う。組み込み方は、GlobalTrimスクリプトの項を参照。
【改版履歴】
◇メールで引用個所の行頭に「>」を入れたり、VBエディタでコメントアウトするのと同じ操作をするスクリプトである。行単位でデータを取り出すのと、最後の改行コードの場合分け処理に手間取った。(8.24)◇コメント化の復帰マクロを作ると同時にタブインデントと区分した。この方がそれぞれの操作の分担がすっきりする。コメントアウトとタブインデントの解除には、replace関数や正規表現を使った。(8.26)◇《unindent.vbs》インデントにより左端から1文字ずつ削除されてしまう場合があったのを改めた。(9.24)◇《tabindent_2.vbs》正規表現のパターンを検索パターンと置換パターンの両方について配列に入れ、これにより置換を行う。速度がver.1と変わるものかどうかよく分からない。私はスクリプトをエディタで一から書いているが、commentout_2とr_comment(recover_commentのつもり)、tabindentとunindentをそれぞれ組み合わせて使い、毎回重宝している。使用頻度が最も多いものである。(10.3)◇《CommentOut.bas》《R_Comments.bas》 MS-Word用に移植したVBAスクリプトである。ワードやエクセルでは、選択文字列の取得と設定にSelectionというキーワードが使えるためである。「真魚」エディタの他にも、「サクラエディタ」やその他選択文字列を取得できるらしいエディタはあるようだが、それと外部プログラムとしてVBScriptが読み込めるという二重の好条件がないとエディタ・ベースで操作することが難しい。その点、これは組み込みが多少面倒で、使い勝手はともかくワープロの鈍重さとつき合わなければならないが、何はともあれ「より広い場面で使える」という大きな利点がある。なお、正規表現を使っているので、そのまま実行するとエラーになる。VB Editorの「ツール」−「参照設定」メニューによって表示されるライブラリ一覧から「Microsoft VBScript Regular Expressions 5.5」を選び、チェックを入れる。(10.7)◇《trim_indent.vbs》 タブ、スペース(全角・半角)等によるインデントを一気に解除する。必要に応じてunindent.vbsとメニューで仕分けるとより便利になるかもしれない。(10.11)

[TOP]
@「真魚」からこのマクロを実行する。
 最後の改行コードは含んでいてもいなくてもよい。(下図の1と2のどちらでも可。)

最後の改行を含む場合 最後の改行を含まない場合

A変換結果

《comment_out.vbs》

変換結果

コードを1行変更すれば、こういう表示も可能である。

変換結果


《CommentOut.bas》 MS-Wordでの表示

サンプル画面

変換結果


《unindent.vbs》 2回繰り返した場合の表示結果

サンプル画面

変換結果