タイトル : Re^6: 実行中のACCESSファイル群のパス取得方法 投稿日 : 2010/11/27(Sat) 10:25 投稿者 : 魔界の仮面弁士
# これは No.10329 への返信ですが、スレッドが深くなってきたので # 最初の投稿(No.10322)への返信として投稿します。 > TypeName(o) → o.name と変更いたしましたところ Office 系あるいは Visual Studio 系のアプリのインスタンスであれば、 Name プロパティで簡易名を得たり、Application プロパティで 最上位オブジェクトへの参照を得られるたりするのですが、そもそも Name プロパティを持たないオブジェクトに対して o.Name を実行すると、 MissingMemberException 例外が発生する事になります。 実際には DisplayName や TypeName だけでは、型を判断には 不十分ですね。まぁ、ある程度の推測はできそうですけれども。 > PDFでもROTリストに「〜.pdf」という名で入ってきてくれますので 試しに、デスクトップ上の pdf ファイルをダブルクリックで起動し、 ファイルが Adobe Reader 8 で開かれた状態で先のサンプルを 起動してみたところ、TypeName が "IAcroAXDoc" なオブジェクトを取得できました。 ただ、取得できる期間が限られているのか、起動後しばらくすると ROT から削除されました。何だろう…? > 何故かPDFはGetObjectFromROT(dispName)が取れませんが 取得しようとした時点で、ROT から削除されてしまっていたのかも。 なお、ローカルの PDF ファイルを開くのではなく、Web 上の PDF を IE 上で開いた場合は、ROT に表示されず、先の手法では見えませんでした。 |