1 件の投稿を表示中 (合計 3 個)
  • 作成者
    投稿
  • #31719
    LINK
    参加者

    EmEditor Professional (64-bit)
    Version 24.0.1
    Windows 10 Pro (x64)

    マクロで複数箇所を選択する方法が分からず困っています。
    具体的には、以下の情報に基づいて、複数箇所を選択状態とさせたいです。

    選択開始桁・行
    選択終了桁・行

    上記の情報は、複数のセットが存在する可能性があります。
    よろしくお願いいたします。

    #31721
    Yutaka Emura
    キーマスター

    いつもお世話になっております。江村です。

    残念ながら、いい方法がないのですが、次のように行うことは可能です。

    
    #language = "v8"
    
    const xStart = [ 1, 1, 1 ];
    const yStart = [ 1, 4, 7 ];
    const xEnd   = [ 3, 3, 3 ];
    const yEnd   = [ 2, 5, 8 ];
    
    document.selection.Collapse();
    document.selection.EndOfDocument();
    
    for( let i = 0; i < xStart.length - 1; ++i ) {
    	editor.ExecuteCommandByID(4027);  // Line Up Extend (Vertical Mode)
    }
    
    for( let i = 0; i < xStart.length; ++i ) {
    	document.selection.SetActivePoint( eePosLogical, xStart[i], yStart[i], false, i + 1 );
    	document.selection.SetActivePoint( eePosLogical, xEnd[i], yEnd[i], true, i + 1 );
    }
    
    

    10 桁、10行以上のテキストに対して上のサンプルが動作します。

    v24.1.901 以上のバージョンでは、改善を検討させていただきます。

    よろしくお願いいたします。

    #31723
    LINK
    参加者

    江村 様

    具体的なサンプルコード付きのご回答をいただき、誠にありがとうございました。
    早速、サンプルコードについて動作させてみたいと思います。

    v24.1.901 以上のバージョンでは、改善を検討させていただきます。

    また、現状では良い方法が無いとのことですが、次Ver以降の改善により、選択箇所をより簡単に指定できるようになることを期待しております。

1 件の投稿を表示中 (合計 3 個)
  • このトピックに返信するにはログインしてください。