8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #10400

    psum
    メンバー

    例えば、「日付を入れて、数行の空行を追加して、日付の直下にカーソルを移動する」というような、複数行のスクリプトを実行して、UNDO しようとすると、CTRL-Z を何度も押す必要があると思うのですが、これが一回の CTRL-Z で UNDO できるととても便利です。
    私が、知らないだけで、もうあるのかもしれませんが。
    いかがでしょう。

    #10401

    Yutaka Emura
    キーマスター

    psum 様

    いつも EmEditor Professional をお使いいただき、誠にありがとうございます。

    マクロだと、確かに複数回の「元に戻す」を行うことになります。スニペットだと、一回で元に戻ったりします。
    具体的に、どのようなことを行いたいか書いていただければ、もっといい方法が見つかると思いますので、教えていただけると幸いです。

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

    #10402

    psum
    メンバー

    >具体的に、どのようなことを行いたいか書いていただければ、もっといい方法が見つかると思いますので

    超具体的には、次のようなマクロで、日付を自動挿入するようにしているのですが、

    myNow = new Date();
    myYear = myNow.getYear()
    myYear4 = (myYear < 2000) ? myYear+1900 : myYear;
    myMonth = myNow.getMonth () + 1;
    myDate = myNow.getDate ();
    myDay = myNow.getDay ();
    myHours = myNow.getHours ();
    myMinutes = myNow.getMinutes();
    mySeconds = myNow.getSeconds();
    myDateTime = ""; myDateTime += myYear4 + "/";
    if ((myMonth + "").length < 2) { myDateTime += "0"; } myDateTime += myMonth + "/";
    if ((myDate + "").length < 2) { myDateTime += "0"; } myDateTime += myDate;
    myaWeekDay = new Array("日","月","火","水","木","金","土");
    myDateTime += "(" + myaWeekDay[myDay] + ")";
    if ((myHours + "").length < 2) { myDateTime += "0"; } myDateTime += myHours + ":";
    if ((myMinutes + "").length < 2) { myDateTime += "0"; } myDateTime += myMinutes + ":";
    if ((mySeconds + "").length < 2) { myDateTime += "0"; } myDateTime += mySeconds + " ";
    document.selection.StartOfLine();
    document.selection.NewLine(1);
    document.write("——————————————————————————");
    document.selection.NewLine(1);
    document.write(myDateTime);
    document.selection.EndOfLine();
    document.selection.NewLine(10);
    document.selection.LineUp(0, 9);
    document.write("・");

    これを UNDO しようとすると CTRL-Z を 14 回押さなくてはなりません。
    これが一回の CTRL-Z で済むようなマクロの書き方とか、コマンドとかがあれば良いのではないかと思います。
    例えば、「一括 UNDO スタート」と「一括 UND エンド」のようなコマンドがあるとかいうことでしょうか。

    #10403

    Yutaka Emura
    キーマスター

    psum 様

    いつも EmEditor Professional をお使いいただき、誠にありがとうございます。

    確かに、マクロだと1回の「元に戻す」で戻らないですね。
    スニペットで、「スニペットの新規作成」を行い、以下のように、マクロを `# … ` で囲ってテキストにしておくと、1回の「元に戻す」で戻ります。この方法でよろしければお試しください。

    `# myNow = new Date();
    myYear = myNow.getYear()
    myYear4 = (myYear < 2000) ? myYear+1900 : myYear;
    myMonth = myNow.getMonth () + 1;
    myDate = myNow.getDate ();
    myDay = myNow.getDay ();
    myHours = myNow.getHours ();
    myMinutes = myNow.getMinutes();
    mySeconds = myNow.getSeconds();
    myDateTime = ""; myDateTime += myYear4 + "/";
    if ((myMonth + "").length < 2) { myDateTime += "0"; } myDateTime += myMonth + "/";
    if ((myDate + "").length < 2) { myDateTime += "0"; } myDateTime += myDate;
    myaWeekDay = new Array("日","月","火","水","木","金","土");
    myDateTime += "(" + myaWeekDay[myDay] + ")";
    if ((myHours + "").length < 2) { myDateTime += "0"; } myDateTime += myHours + ":";
    if ((myMinutes + "").length < 2) { myDateTime += "0"; } myDateTime += myMinutes + ":";
    if ((mySeconds + "").length < 2) { myDateTime += "0"; } myDateTime += mySeconds + " ";
    document.selection.StartOfLine();
    document.selection.NewLine(1);
    document.write("——————————————————————————");
    document.selection.NewLine(1);
    document.write(myDateTime);
    document.selection.EndOfLine();
    document.selection.NewLine(10);
    document.selection.LineUp(0, 9);
    document.write("・");
    `

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

    #10404

    psum
    メンバー

    江村さま

    ご返答ありがとうございます。
    やってみました。
    これは、良いですね。
    少し、スニペットについて、勉強してみます。

    #10407

    psum
    メンバー

    江村さま

    psum です。

    スニペットにすると UNDO が CTRL-Z 一回で済むので、使ってみているのですが、スニペットボタンを押して、スニペットが窓の左に出ている間はうまくいくのですが、これを消してしまうと動作しないようです。
    この機能だけのために常にスニペット窓を出しておくというのは、ちょっと考えものなので、何か回避策はありませんでしょうか?
    やはり、マクロ自体に次のような感じでまとめる部分を指定できると便利かと思いました。必須ではないが、あれば便利という感じでしょうか。

    document.StartUndoBundle();
    :
    : この間に書かれたスクリプトは CTRL-Z 一回で UNDO される。
    :
    document.EndUndoBundle();

    #10411

    Yutaka Emura
    キーマスター

    psum 様

    いつも EmEditor Professional をお使いいただき、誠にありがとうございます。

    ご意見ありがとうございます。将来のバージョンで検討させてください。

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

    #10412

    psum
    メンバー

    江村さま

    はい、どうぞよろしくお願い致します。

    psum

8件の投稿を表示中 - 1 - 8件目 (全8件中)

このトピックに返信するにはログインが必要です。

友達に知らせる... Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone