質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

3回答

8944閲覧

vba アプリケーション起動確認

eri___21

総合スコア12

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/12/12 23:53

###前提・実現したいこと
エクセルのシートから取得したIPアドレスを使って、
他の端末が該当のアプリケーションを使用しているか確認する。

参考サイト

###発生している問題・エラーメッセージ
下記ソースのように、IPがlocalhostのときはIf文は正常に動き、
「起動している」となります。
しかし、a = "192.16.80.1"のときはアプリケーション起動していても、
「起動していない」となります。
どうしたら解決するか教えてください。

###該当のソースコード

vba

1Sub ボタン1_Click() 2 Dim WD 3 a = localhost 4 Set WD = CreateObject("Word.Application") 5 If WD.Tasks.Exists("Internet Explorer" & a & "") Then 6 MsgBox "Internet Explorerが起動しています", vbInformation 7 Else 8 MsgBox "Internet Explorerは起動していません", vbInformation 9 End If 10 WD.Quit 11 Set WD = Nothing 12End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

まずTasks.Existsで他端末のプロセス情報が確認できるというのは、どこから来た情報でしょうか。
参考サイトにもそのことは書いておりません。

ではなぜlocalhostがOKで、IP指定はNGなのか。
提示のコードでは、localhostはあくまでも変数名です。
未定義の変数なので、空文字になっていると思います。
つまりExistsのところは、実際にはこうなっているはずです。

VBA

1If WD.Tasks.Exists("Internet Explorer") Then

IPアドレスを指定した場合はこうなります。

VBA

1If WD.Tasks.Exists("Internet Explorer192.16.80.1") Then

当然こんな名前のタスクは動いていないでしょうから、NGになります。

なので回答としてはWordオブジェクトのTasksコレクションでは、他端末のタスク情報は取得できないです。
他端末の情報を得たいのであれば、別の方法を使うことになると思います。

投稿2016/12/13 01:41

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

IPアドレスだけの情報から他の端末で起動しているアプリケーションがわかるとしたら、それは「セキュリティホール」です。
ですからWindows-VBAに限らず、原則としてどんなOSでもIPアドレスだけの情報から起動しているアプリケーションは解らないはずです。
知るためには、対象の端末に「スパイウェア」のようなものを仕込む必要があります。

投稿2016/12/13 02:07

hihijiji

総合スコア4150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

a = localhostは、a = "localhost"の間違いでしょうか?

VBAの仕様に詳しくないので定かではないですが、
タスクの一覧はローカルのタスクしか取れないと思います。
(ネットワーク越しの他の端末のタスクは取れないと思います)

もし、a = localhostが上記の通りの間違いだとすると、localhostという変数が存在しないためaになにも設定されていない状態となり、
MD.Tasks.Existsが正常に動いているように見えるのだと思います。

投稿2016/12/13 01:39

ijufumi

総合スコア276

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問