1 件の投稿を表示中 (合計 5 個)
  • 作成者
    投稿
  • #23861
    Delフサ
    参加者

    お世話になっております。

    アウトラインガイドで折りたたまれた後のテキストを
    見えている状態テキストとして、
    クリップボードにコピーしたいのですが、
    方法はありますでしょうか?

    よろしくお願いします。

    #23865
    Yutaka Emura
    キーマスター

    Delフサ 様

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

    行選択してコピーで、問題はありませんでした。でも、[行コピー] コマンドや、選択されていない状態でのコピーでは、折りたたまれた後のテキストまでコピーされないのですが、次のバージョンでは、この場合でも、折りたたまれた後のテキストまでコピーされるように改善します。

    よろしくお願い申し上げます。

    #23876
    Delフサ
    参加者

    すいません。言葉足らずだった気がします。

    EmEditor 32bit版ポータブル ver16.9.3 で動作確認しました。

    こういうテキストがあったとして
    —–

    ◇1
    a
    b
    c
    ◇2
    d
    e
    f
    ◇3
    —–
    次のようにアウトラインガイドを折りたたみ

    —–

    ◇1
    ◇2
    ◇3
    —–

    1と2を選択してコピーした場合

    ◇1
    ◇2

    という文字だけがコピーされてほしいということでした。

    現状は、
    —–
    ◇1
    a
    b
    c
    ◇2
    d
    e
    f
    —–
    というものがコピーされます。

    アウトライン設定は
    (^\s*(>\s?)+|^\s*’+|^\s*(//)+|^)■.*$ 1
    (^\s*(>\s?)+|^\s*’+|^\s*(//)+|^)◆.*$ 1
    (^\s*(>\s?)+|^\s*’+|^\s*(//)+|^)◇.*$ 1
    (^\s*(>\s?)+|^\s*’+|^\s*(//)+|^)・.*$ 1
    このようなものを作っています。

    特にそんなに困るものでもないのですが、
    見た目でそのままコピーできる
    方法があるのかな、と思いました。

    よろしくおねがいします。

    #23878
    Yutaka Emura
    キーマスター

    Delフサ 様

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

    これを実現するには、以下のような、マクロを使うと可能です。

    s = "";
    if( !document.selection.IsEmpty ) {
    	yTop = document.selection.GetTopPointY( eePosView );
    	yBottom = document.selection.GetBottomPointY( eePosView );
    	for( y = yTop; y <= yBottom; y++ ) {
    		s += document.GetLine( y, eeGetLineView | eeGetLineWithNewLines );
    	}
    }
    clipboardData.setData("Text", s);

    よろしくお願い申し上げます。

    #23879
    Delフサ
    参加者

    ありがとうございます。
    なるほど、eeGetLineViewを指定することで、
    非表示行は空文字が取得されるのですね。

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