1 件の投稿を表示中 (合計 5 個)
  • 作成者
    投稿
  • #3636
    FLONT
    参加者

    OpenFileにて、開いたファイルのdocumentオブジェクトを取得する方法はありませんでしょうか?

    すでに開いていて別ウィンドウ(グループ)であった場合、
    そのdocumentの参照方法がわかりません。

    以前、旧フォーラムにてDocumentsで
    別グループのdocumentを参照できないような記述がありますが、
    OpenFileのヘルプには、「eeOpenAllowNewWindow」のオプションがあり、
    「既に開かれている文書が無題でないか、または変更されている場合、新しいウィンドウで開きます。」と
    エディター側が検知できているので、方法はあると思っているのですが。

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

    #3637
    Yutaka Emura
    キーマスター

    残念ながら、別グループで開かれた場合は、その document オブジェクトを取得する方法はありません。なぜかというと、別グループの場合には、別スレッドになってしまうためです。EmEditor のマクロは、現在のところ、マルチスレッドの管理まで対応していません。

    ここにある eeOpenAllowNewWindow というフラグは、別グループとは限らず、同じグループでも別のタブとして表示されることもあります。

    #3638
    FLONT
    参加者

    Yutakaさんは書きました:
    残念ながら、別グループで開かれた場合は、その document オブジェクトを取得する方法はありません。なぜかというと、別グループの場合には、別スレッドになってしまうためです。EmEditor のマクロは、現在のところ、マルチスレッドの管理まで対応していません。

    ここにある eeOpenAllowNewWindow というフラグは、別グループとは限らず、同じグループでも別のタブとして表示されることもあります。

    現在方法が無いのは、本当に残念です。

    単純に現在別のグループで開いている、
    ドキュメントを、現在のグループで開くと、
    開いてあるグループのWindowが前面に来ますよね。
    何かしら別スレッドを管理しているものと思っていました。

    別にマクロについて要望もありますので、
    改めて要望をあげさせていただきたいと思います。

    #3727
    takuya
    参加者

    ActiveXObjectで開いているWindowsの名前を取ってくることが出来ると思うので、そこからEditorをインスタンス取得してEditorオブジェクトを取得してdocumentsを取得して。。。。とすればいける気がします。

    また週末にコード書いてみます。

    #3740
    FLONT
    参加者

    takuya様

    返信が遅くなりまして申し訳ありません。

    ご教授ありがとうございました。
    現在仕事が忙しいため試せていませんが、
    時間が空き次第試そうと思います。

    それでは。

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