人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルのVBAを使って、今立ち上がっている全てのアプリケーション(IE以外も)のタイトルを読み出したいのですが、いくら調べても方法がわかりません。参考になるページはありませんか?

●質問者: someji
●カテゴリ:コンピュータ
✍キーワード:アプリケーション エクセル タイトル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● SALINGER
●50ポイント

不可能です。

Win32APIを使って現在立ち上がっている全てのプロセスを取得することは可能かもしれませんが、アプリケーションごとのタイトルというのは、実行ファイルのファイル名がアプリケーションのタイトルとも限りませんし不可能です。

◎質問者からの返答

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

現在、Winbatehというソフトで可能なので、何らかの方法はあると思うのですが、VBAでは不可能かもしれませんね。


2 ● Mook
●100ポイント ベストアンサー

Microsoft Office を使用した実際のスクリプト作成

が参考になるかと思います。


ほとんど、参考URL のコードそのままですが、1枚目のシートにリストを表示させるサンプルです。

'-------------------------------------------
' タスクマネージャのアプリケーション相当を表示
'-------------------------------------------
Sub listApllication()
'-------------------------------------------
 Set objWord = CreateObject("Word.Application")
 Set colTasks = objWord.Tasks
 
 Columns("A:B").ColumnWidth = Columns("C").ColumnWidth
 Columns("A:B").ClearContents
 i = 1
 For Each objTask In colTasks
 If objTask.Visible Then
 Cells(i, "A").Value = objTask.Name
 i = i + 1
 End If
 Next
 objWord.Quit
 Columns("A:B").AutoFit
End Sub

ご参考までに。

◎質問者からの返答

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

早速やってみます。


3 ● ardarim
●50ポイント

Microsoft Office を使用した実際のスクリプト作成


ExcelにはTasksオブジェクトはないようですが、上記に説明されている通り、Word.application経由でExcel VBAからも実行可能です。


サンプル(動作確認済み)


Sub test()

 Set objWord = CreateObject("Word.Application")
 Set colTasks = objWord.Tasks
 
 For Each objtask In colTasks
 If objtask.Visible Then
 Debug.Print objtask.Name
 End If
 Next
 
 objWord.Quit

End Sub


◎質問者からの返答

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

上記Mookさんの物も、ardarimさんの物もエクセルで動作しました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ