◀マクロトップへ
  • 141 追加コピー・追加切り取り
    • 142 Re:追加コピー・追加切り取り
      • 143 IEのオブジェクトで無理やり版
        • 144 Re:IEのオブジェクトで無理やり版
          • 145 よろこんでいただいてなによりです。
  • [141] 追加コピー・追加切り取り ごじ 2005年05月27日 17:31

    追加コピー・追加切り取りのマクロって既出ですか?
    一応探したんですけど見つけられなかったので。
    • [142] Re:追加コピー・追加切り取り りーや 2005年05月27日 20:58

      サクラエディタのマクロ関数にクリップボードの中身を取得するものがないので普通のマクロでは出来ないと思われ
      下は、サクラエディタのマクロで使える Perl言語の力を利用して実現しているので、Perl も入れれば外部マクロとして使えます。が、www.activestate.com からダウンロードしてインストールすると50MB 以上ディスクを使います。

      VECTOR あたりで、クリップボードの拡張ソフトを探して併用した方が便利だと思う。作っては見たものの自分でも使いそうにない。私は ToMoClip というのを愛用してます。

      追加コピー
      -----^ AddCopy.pls ( date:105-04-27 time:20:41 )
      # AddCopy selection string -> clipboard
      use Win32::Clipboard;
      $CLIP = Win32::Clipboard();
      $str = GetSelectedString();
      $clip = $CLIP->GetText();
      $clip = $clip . $str;
      $CLIP->Set( $clip );
      InsText($str);
      -----$ AddCopy.pls ( line:8 )

      追加切り取り
      -----^ AddCut.pls ( date:105-04-27 time:20:41 )
      # AddCut selection string -> clipboard
      use Win32::Clipboard;
      $CLIP = Win32::Clipboard();
      $str = GetSelectedString();
      $clip = $CLIP->GetText();
      $clip = $clip . $str;
      $CLIP->Set( $clip );
      InsText("");
      -----$ AddCut.pls ( line:8 )
      • [143] IEのオブジェクトで無理やり版 りーや 2005年05月29日 20:16

        ▼ りーやさん
        > 普通のマクロでは出来ないと思われ

        WSH標準のJScriptで、IEのオブジェクトで実現?
        今度は普通に WindowsXP で IE を消してなければたぶん、、、
        自身ないし遅いけどウチでは動いてるみたい

        追加コピー
        -----^ AddCopy.js -----------< cut hear
        var IEobj = new ActiveXObject("InternetExplorer.Application");
        IEobj.Navigate("about:blank");
        var Str = Editor.GetSelectedString();
        var Clip = IEobj.Document.parentWindow.clipboardData.getData("Text");
        var Outstr = Clip.concat(Str);
        IEobj.Document.parentWindow.clipboardData.setData("Text" , Outstr);
        Editor.InsText(Str);
        -----$ AddCopy.js -----------< cut hear

        追加切り取り
        -----^ AddCut.js ------------< cut hear
        var IEobj = new ActiveXObject("InternetExplorer.Application");
        IEobj.Navigate("about:blank");
        var Str = Editor.GetSelectedString();
        var Clip = IEobj.Document.parentWindow.clipboardData.getData("Text");
        var Outstr = Clip.concat(Str);
        IEobj.Document.parentWindow.clipboardData.setData("Text" , Outstr);
        Editor.InsText("");
        -----$ AddCut.js ------------< cut hear
        • [144] Re:IEのオブジェクトで無理やり版 ごじ 2005年05月30日 12:20

          ▼ りーやさん
          > ▼ りーやさん
          > > 普通のマクロでは出来ないと思われ
          >
          > WSH標準のJScriptで、IEのオブジェクトで実現?
          > 今度は普通に WindowsXP で IE を消してなければたぶん、、、
          > 自身ないし遅いけどウチでは動いてるみたい

          ありがとうございます。
          早速試させていただいて、
          希望通りに動いてましたので使わせて頂きます。
          確かに、一瞬IEコンポーネント(?)に制御が移るので
          コピーや切り取りなどの既存のコマンドよりは遅いと感じますが、
          今までクリップボード拡張ソフトを使用していた作業の手順が
          3アクションくらい省略できるので、
          私としては十分に作業効率が上がります。
          本当にありがとうございました。
          • [145] よろこんでいただいてなによりです。 りーや 2005年05月30日 20:26


            そういうことならもうちょっとなんとかとMS Forms 版も作ってみたのですが、気まぐれにしか動かないので取り下げました