- 作成者投稿
- 2014年3月29日 10:47 am #19295douki参加者
タブが無効の状態で、editor.newFile()により新規ファイルを作成した際に、作成したファイルのオブジェクトを取得したいです。
新規ファイルに対してテキストを書き込んだりConfigNameを設定したりするためです。タブが有効であれば、
editor.newFile()
var newDoc = editor.documents.item(editor.documents.count);
で問題ないのですが、
タブが無効のときは取得できないようですので
sleep、clipboardData.setData、shell.SendKeysなどを使っていますが、
動作が安定しない、クリップボードの内容が変わる、ConfigNameの設定は難しいなどで不便です。2014年3月29日 11:04 am #19296douki参加者タブが無効の場合、
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 22014年4月1日 3:35 am #19303Yutaka Emuraキーマスターdouki 様
いつも EmEditor Professional をお使いいただき、誠にありがとうございます。
タブが有効の時の各グループ ウィンドウはマルチスレッドで動作しているのに対して、マクロはシングルスレッドのため、マクロから異なるグループの文書への操作はサポートしていないのです。このため、ご希望のような操作は正しく動作しません。この点は、現在の仕様の制限ということでご了承いただけると幸いです。
よろしくお願い申し上げます。
Yutaka
2014年4月1日 7:00 am #19305douki参加者ご回答ありがとうございます。
現在の仕様の制限ということで承知しました。 - 作成者投稿
- このトピックに返信するにはログインしてください。