前提・実現したいこと
VBSでExcelが起動しているかを確認できるプログラムを組みたいです。
VBS初心者のため、プロトタイプでも結構ですので教えていただきたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
Officeのバージョンの質問と同様です。
ご自分で調べた上での質問ですか?
回答2件
0
結構長いプログラムになりますが、載せておきます。
VBS
1Sub Main() 2 'WMIにて使用する各種オブジェクトを定義・生成する。 3 Dim oClassSet 4 Dim oClass 5 Dim oLocator 6 Dim oService 7 'ここの名前を間違えるとアウト!! 8 Dim TargetAppName:TargetAppName = "notepad.exe" 9 Dim ExistFlag:ExistFlag = False 10 'ローカルコンピュータに接続する。 11 Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator") 12 Set oService = oLocator.ConnectServer 13 'クエリー条件を WQL にて指定する。 14 Set oClassSet = oService.ExecQuery("Select * From Win32_Process") 15 'コレクションを解析する。 16 For Each oClass In oClassSet 17 '対象のプロセス名が存在するかを判定します。 18 If InStr(oClass.Description,TargetAppName) > 0 Then 19 '対象のプロセスが存在すればフラグを立てます。 20 ExistFlag = True 21 Exit For 22 End If 23 Next 24 25 '使用した各種オブジェクトを後片付けする。 26 Set oClassSet = Nothing 27 Set oClass = Nothing 28 Set oService = Nothing 29 Set oLocator = Nothing 30 31 '存在チェックフラグがFalseの場合の処理 32 If ExistFlag = False Then 33 '========================================== 34 'ここにやりたい処理を記載する。 35 '========================================== 36 End If 37End Sub
投稿2021/01/25 08:25
編集2021/01/25 08:27総合スコア3307
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
起動中のアプリケーション、プロセスを取得する: Win32_Process - WMI Sample (VBS)
などがとっかかりでしょう。
投稿2021/01/25 08:05
総合スコア2287
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。