重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Excel2007のVBAで、別のアプリケーション(IE上で起動しているパッケージソフト)をアクティブにする機能を実装したいと考えています。

VBAにて他アプリケーションをアクティブにする方法は、AppActivateを利用(下記サイト)で分かりました。
https://msdn.microsoft.com/ja-jp/vba/language-re …
しかし、指定すべきアクティブにしたい別アプリケーション(IE上で起動しているパッケージソフト)のタイトル名が正しくなく、アクティブにできない状況です。
※IEウインドウのタイトルバーに表示されている名称(もしくはタスクマネージャーで表示される名称)を指定しても、反応しない状況です。一方、プロセスID指定(手動でcmdプロンプトからtasklist実行で取得したもの)であれば、アクティブ化できることから、誤ったタイトル名を指定していると思われます。

プロセスIDは変動するため、タイトル名の指定で実装したいと考えております。
そこで、プロセスIDからタイトル名を調べる方法はあるのか、ご教授頂けたらと思います。

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

A 回答 (2件)

ググればコードを書いて調べる方法が見つかるのですけど、


察するに、一度調べれば済む問題ですよね。

以前の Visual Studio に付属していた SPY で見るのが手っ取り早いですが、今は追加インストール?なのか見かけないです(フリーツールも見かけない…)。
可能なら(Visual Studio をインストールしている)同僚に頼んで見てもらうのが早いです。

一応、質問に答えておくならば、おそらくWindows は「プロセスID→タイトル名」を直接管理してないです。なのでちょっとしたコードが要る。
それよりアプリケーション=ウィンドウをツールで調べて、属するプロセスIDを確認した方が早い、と言う意見です。
    • good
    • 0
この回答へのお礼

ありがとう

早速、ご回答頂きありがとうございました。
稼働環境では、visualstudioが入っていません。
ご認識の通り、1回限りのものでしたが、コーディングして、対応しました。
ウィンドウズコマンド等で、対応できれば簡単で良かったのですが、プロセスIDとタイトル名の紐付けが無いと、ご教授いただきましたので、
コード書きました。

ありがとうございました。

お礼日時:2018/04/23 20:13

「ローカルコンピューター上で実行しているすべてのプロセスを取得」で検索してみましょう。

    • good
    • 0
この回答へのお礼

ありがとう

ありがとうございました。
結局、VBAのコーディングにより、対応いたしました。

お礼日時:2018/04/23 20:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!