「次の文書で最後に使用した文書を表示する」オプションと「タブ表示順で移動」操作の両立方法について

  1. Kuro さん

    お疲れさまです。
    腱鞘炎はその後、いかがでしょうか。
    テレワークの会社が増え、今まで以上にチャットコミュニケーションが多くなっていますから、腱鞘炎の手首には辛いのでは…と少し心配しております^^;

    と、そんなところでスレッドを立てるのもアレなのですが、無理せず、手首の調子が良いときにご返信いただければと思います。

    Ver 3.0.4 で次の文書コマンドの移動順設定ができ、「おっ、これは…!」と注目しております。
    「Ctrl-Tab/Ctrl-Shift-Tab」では最後に使用した順のタブ移動をさせ、「Ctrl-PageDown/Ctrl-PageUp」では表示順でのタブ移動をさせたいと考えています。

    そこで「最後に使用した順の移動」をオプションで、「表示順の移動」ならマクロで実現できるかな、と期待してマクロリファレンスを眺めていましたが方法を見つけられませんでした。

    これはやはり、タブ移動はマクロでは実現できないでしょうか…?

     |  yuko  |  返信
  2. 横から失礼します。

    「タブ表示順で移動」(ひとつ右/ひとつ左)だけでしたら、次のようなマクロで実現できるとおもいます。

    #title = "次の文書(ひとつ右)"
    for (var i = 0, ds = editor.Documents, dc = ds.Count; i < dc; i++) {
      if (ds.Item(i) == editor.ActiveDocument) {
        (ds.Item(i + 1) || ds.Item(0)).Activate();
        break;
      }
    }
    
    #title = "前の文書(ひとつ左)"
    for (var i = 0, ds = editor.Documents, dc = ds.Count; i < dc; i++) {
      if (ds.Item(i) == editor.ActiveDocument) {
        (ds.Item(i - 1) || ds.Item(dc - 1)).Activate();
        break;
      }
    }
    

    もしも「最後に使用した順に表示する」のほうをマクロで実現するとなると、別途イベントマクロで「アクティブな文書の変更」や「ファイルを開いたとき」「文書を閉じたとき」「タブを移動したとき」を監視して、Editor.Tag プロパティにアクティブタブのフルパスか Editor.Documents.Item( i ) のインデックスを配列に保存しておく必要がありそうなのですが、配列の更新処理や回避処理の必要がある条件や状況がいろいろと多そうですので、かなり厄介でしょうね…。

     |  suukemaru  |  返信
  3. おおーっ!
    これです、これがやりたかった!

    なるほど、Document オブジェクトを Activate すれば文書の遷移が出来たわけですね。(見落としてました…^^;)

    これで、オプションで「次の文書コマンドで最後に使用した文書を表示する」をオンにして、このマクロを Ctrl-PgDn/PgUp に割り当て、実現したい動作になりました。

    これで私の環境では Mery も、ブラウザも、開発用の IDE も、全て Ctrl-Tab が最後に開いたタブに遷移、Ctrl-PgDn/PgUp で左右のタブに遷移にできました。
    Excel なんかも Ctrl-PgDn/PgUp はシート移動なので、この一貫性がかなり心地よいです。

     |  yuko  |  返信
  4. ご心配いただきありがとうございます。

    時々、ガクッとなるのでモノを持ったりするのは危険ですが、痛みは和らいだので簡単な作業なら大丈夫です ^^

    > 「次の文書で最後に使用した文書を表示する」オプションと「タブ表示順で移動」操作の両立方法について

    以前の回答で…

    引用:
    "機能の名前がややこしくなるので [次の文書] [前の文書] をその機能に変更し (というか昔の仕様に戻す)、新たに [右のタブ (文書)] [左のタブ (文書)] のような機能を追加する"

    ということで、実際にその仕様で実装したのですが、標準機能の [次の文書] の動作を変更してしまうとやっぱり怒られそうかなと思って、別途、オプション項目を追加したというわけです。

    なので、そのオプションを使って、なおかつ [右の文書]、[左の文書] というコマンドにキー割り当てをすればでき…、と思ったら、コマンドが見当たりませんね ^^;

    開発環境では存在しているので、本番環境に適用するのを忘れていたっぽいです、テヘペロ😂

    次のバージョンでは対応できると思いますので、よろしくお願いします。

     |  Kuro  |  返信
  5. > 時々、ガクッとなるのでモノを持ったりするのは危険ですが、痛みは和らいだので簡単な作業なら大丈夫です ^^

    それは何よりです。とはいえ、無理をなさらず…

    > なので、そのオプションを使って、なおかつ [右の文書]、[左の文書] というコマンドにキー割り当てをすればでき…、と思ったら、コマンドが見当たりませんね ^^;
    >
    > 開発環境では存在しているので、本番環境に適用するのを忘れていたっぽいです、テヘペロ😂

    そうなんです。
    私も「おっ、次の文書機能のオプションが追加とな。つまり、隣のタブに遷移するコマンドが用意されt…ない。そうか……」となって、隣のタブに移動する方法を探っていたわけです。

    これはもうテヘペロで済ますしかないですねw
    まぁ意図せず実装漏れを発見できたようで良かったです!

     |  yuko  |  返信
スポンサーリンク