1 件の投稿を表示中 (合計 4 個)
  • 作成者
    投稿
  • #30274
    naru
    参加者

    江村様
    マクロのイベントで実行についてお伺いしたいのですが、
    『イベント:ドキュメントが閉じた時』に設定している場合、

    ・現在:ドキュメントが閉じられたあとに実行される
    ・以前:マクロを実行してからドキュメントを閉じる

    という感じだったと思うのですが、こちらは仕様変更されたのでしょうか?

    ファイル名を返す(表示する)マクロでドキュメントが閉じた時に実行するイベントに設定して実行すると
    以前は閉じたファイル名を返してくれましたが、今は閉じたあとにアクティブになったファイル名が返ってきます。

    EmEditor Professional (64-bit)
    Version 21.2.1

    #30283
    Yutaka Emura
    キーマスター

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

    詳しくはコードを見てみないとわからないですが、「ドキュメントが閉じた時」のイベントなので、閉じたあとのタイミングとなる現在の仕様が正しいと思います。
    何か不都合がございましたら、ご連絡ください。

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

    #30284
    naru
    参加者

    ご返答ありがとうございます。

    以前教えていただいた方法を使い、
    ・ファイルを閉じたら、閉じたファイルのバックアップを取る
    ・エディタを閉じたら、開いているファイル全てのバックアップを取る
    というマクロを使っていました。

    EmEditor自体にバックアップや自動保存の機能があるのは知っているのですが、
    可能であればこちらでバックアップのタイミングを決めたいと思っています。
    (クラウドストレージにバックアップをしていて、古いファイルに戻す時に履歴数が少ないとデータ内容を把握しやすいため)
    そのため、個人的には以前の動作の方が助かるのですが……。
    可能であれば、以前と同じ動作をするイベント(もしくはオプション)をご検討いただけますでしょうか。
    よろしくお願いいたします。

    #30293
    Yutaka Emura
    キーマスター

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

    申し訳ありません。私の発言が間違っておりました。

    「ドキュメントが閉じた時」のイベントは、閉じる直前に送られます。しかし、最近のバージョンで、マクロは非同期の実行が既定となったため、マクロを実行する頃には、タイミング的に、ドキュメントが閉じてしまっている可能性があります。これを防ぐためには、マクロの最初の行に、

    #async = "off"

    の1行を挿入してください。

    これは問題なので、次のバージョンでは、イベントで実行されるマクロは、既定で同期実行するように仕様変更します。

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

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