2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« URLが分っていて、開かずにダウンロードするには? | トップページ | 任意のフォルダで「写真の印刷ウィザード」を開始するレジストリ定義 »

2007年1月30日 (火)

非表示で残った多数のExcelやWordをすべて終了させる。

StopAllExcels.VBS
StopAllWords.VBS

Option Explicit
Dim Application
Dim CountFrom,CountTo,Count
Dim k,Sec

Const ProgID="Excel.Application"
Const FileName="EXCEL.EXE"

'Const ProgID="Word.Application"
'Const FileName="WINWORD.EXE"

CountFrom=GetObject("winmgmts:root\CIMV2").ExecQuery("SELECT * FROM Win32_Process WHERE Name='"&FileName&"'").Count
CountTo=CountFrom
For k=1 To CountFrom
  Set Application=GetObject(,ProgID)
  If Err=0 Then
    Application.Visible=True
    Application.Quit
    Set Application=Nothing
    For Sec=1 To 10
      Count=GetObject("winmgmts:root\CIMV2").ExecQuery("SELECT * FROM Win32_Process WHERE Name='"&FileName&"'").Count
      If CountTo>Count Then Exit For
      WScript.Sleep 1000
    Next
    If CountTo>Count Then
      CountTo=Count
    Else
      Exit For
    End If
  ElseIf Err=429 Then
    MsgBox ProgID&" is not found.",vbInformation,WScript.ScriptName
  Else
    MsgBox Err.Description & " (" & Err.Number & ")",vbCritical,WScript.ScriptName
  End If
Next
If CountTo Then
  MsgBox ProgID&" can not be stopped. " & CountTo,vbCritical,WScript.ScriptName
ElseIf CountFrom Then
  MsgBox ProgID&" stopped. " & CountFrom,vbExclamation,WScript.ScriptName
Else
  MsgBox ProgID&" is not found.",vbInformation,WScript.ScriptName
End If
WScript.Quit

« URLが分っていて、開かずにダウンロードするには? | トップページ | 任意のフォルダで「写真の印刷ウィザード」を開始するレジストリ定義 »