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

    douki
    Participant

    タブが無効の状態で、editor.newFile()により新規ファイルを作成した際に、作成したファイルのオブジェクトを取得したいです。
    新規ファイルに対してテキストを書き込んだりConfigNameを設定したりするためです。

    タブが有効であれば、
    editor.newFile()
    var newDoc = editor.documents.item(editor.documents.count);
    で問題ないのですが、
    タブが無効のときは取得できないようですので
    sleep、clipboardData.setData、shell.SendKeysなどを使っていますが、
    動作が安定しない、クリップボードの内容が変わる、ConfigNameの設定は難しいなどで不便です。

    #19296

    douki
    Participant

    タブが無効の場合、
    editor.EnableTab = true;
    で一度タブを有効にし、新規ファイルを操作した後に
    editor.EnableTab = false;
    でタブを無効にするという処理にしたところ、
    とりあえずは希望の動作になりました。
    ただ、この処理だと、当方の環境では以下のエラーが頻発します。
    An application error occurred in a plug-in message. (OK to ignore the error, or Cancel to crash EmEditor)
    msg = 0x816, wParam = 0x241b, lParam = 0x0

    特に複数のファイルを開いた状態で上の処理を行うと、
    editor.EnableTab = false;
    のあたりで上記のエラーが出るようです。

    EmEditor Professional (32-bit)
    Version 14.4.0 beta 2

    #19303

    Yutaka Emura
    Keymaster

    douki 様

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

    タブが有効の時の各グループ ウィンドウはマルチスレッドで動作しているのに対して、マクロはシングルスレッドのため、マクロから異なるグループの文書への操作はサポートしていないのです。このため、ご希望のような操作は正しく動作しません。この点は、現在の仕様の制限ということでご了承いただけると幸いです。

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

    Yutaka

    #19305

    douki
    Participant

    ご回答ありがとうございます。
    現在の仕様の制限ということで承知しました。

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

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

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