Macro/投稿/244

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


Top > Macro > 投稿 > 244

指定文字を含む行をクリップボードへコピー

  • ページ: Macro/投稿
  • 作者: ノラ?
  • カテゴリー: js
  • 投稿日: 2017-06-18 (日) 10:45:34

メッセージ

指定文字を検索して、ヒットした行をクリップボードへとコピーしていきます。

fileCopyLines.js
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
main();
function main() {
 
  var a1;
  var a2;
  var a3;
  var loop = 0;
  var inp = ExpandParameter("$C"); // InputBoxの初期値
  var tex = ""; // 指定文字を格納
  var line = ExpandParameter("$y"); // 現在位置の行数を取得
  var WshShell    = new ActiveXObject("WScript.Shell");
 
  //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);
  var tex = oSC.Run ( "InBox" , "文字を指定" , "指定した文字を含む行をコピー" , inp );
  if(tex=="") return;
  if(typeof tex =="undefined") return;
 
  GoFileTop(); // ファイルの先頭に移動
  SearchNext ( tex , 16 ); // 指定文字を検索
 
  if ( GetSelectedString() != tex ) { // 指定文字が見つからなかったら
    WshShell.Popup( "\'" + tex + "\'" + "は一つも見つかりませんでした。" , 0 , "Sakura"); // メッセージを表示
  }
 
  else { // 指定文字が見つかったら
    SelectLine(); // 1行選択
    a1 = GetSelectedString(); // 選択範囲を取得
 
    while ( loop == 0 ) { // 検索ループ
      SearchNext ( tex , 16 ); // 指定文字を検索
 
      if ( GetSelectedString() == tex ) { // 指定文字が見つかったら
        SelectLine(); // 1行選択
        a2 = GetSelectedString(); // 選択範囲を取得
        a3 = a1 + a2; // 取得した行を注ぎ足す
        a1 = a3;
      }
 
      else { // 指定文字が見つからなかったら
        SetClipboard ( 0 , a1 ); // 取得した行をクリップボードヘ
        break; // ループ終了
      }
    }
 
  // whileループ終了後の動作
  Jump ( line , 1 ); // 指定行へジャンプ(初期位置に戻る) 
  SearchClearMark(); // 検索マークのクリア
  ReDraw(); // 再描画
  }
}


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

添付ファイル: fileCopyLines.js 57件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2017-06-21 (水) 23:26:35 (488d)