Macro/投稿/216 の変更点

http://sakura.qp.land.to/?Macro%2F%C5%EA%B9%C6%2F216


Top > Macro > 投稿 > 216

* 選択行行頭へ文字列を追加 [#m49a3d50]
* 選択行行頭へ任意文字列を追加 [#m49a3d50]
-ページ: [[Macro/投稿]]
-作者: 
-カテゴリー: js
-投稿日: 2011-04-06 (水) 19:29:03

** メッセージ [#i3d76bcb]
デフォルトではinputboxを表示して、追加したい文字列を入力する

#code(javascript){{
var WSHShell=new ActiveXObject("WScript.Shell");
var mypf="";//追加する文字列用
//mypf="> "; //決めうちしたい場合はこれをアンコメントして編集。入力ボックス関係をコメントアウト。
var es=""; //結果用

//入力ボックスから接頭辞を入力
//JScriptからVBSのInputBox関数を実行
var oSC = new ActiveXObject("ScriptControl");
oSC.Language = "VBScript";
var sFunc = 'Function InBox(prompt, title, default)\n';
sFunc += 'InBox = InputBox(prompt, title, default)\n';
sFunc += 'End Function\n';
oSC.AddCode(sFunc);
mypf = oSC.Run ("InBox", "追加する文字列", "行頭へ文字列を追加", "");

//キャンセルした場合(=mypfがundefinedの場合)ではない場合に処理をする
if(typeof(mypf) !="undefined"){
// 選択範囲がなければ全選択
if(Editor.IsTextSelected() == 0){
    Editor.SelectAll();
}

// 通常の選択範囲が存在する場合のみ処理 (矩形選択のときは何もしない)
if(Editor.IsTextSelected() == 1){
    var bln=Editor.GetSelectLineFrom(); // 選択開始行番号
    var eln=Editor.GetSelectLineTo();  // 選択終了行番号
    var sln=eln-bln;  // 選択されている行数

    for (var i=0; i < sln; i++){
        var contl=Editor.GetLineStr(bln + i); // 行内容を取得
        es+=mypf+contl;
    }

}

InsText(es);  //選択範囲をesで上書き

}

}}
----

#comment

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS