15.Word の Tasks プロパティを使ってのタスク(プロセス)の一覧を取得及び操作色々 |
1.Word の Tasks プロパティを使ってのタスク(プロセス)の一覧を取得 2.指定のアプリケーションが起動中かを調べ、起動していない場合は、起動する 3.Excel が現在実行中であるかどうかを調べ、起動中なら Excel をアクティブにします 4.指定のファイル(*.xls/*.txt等)が使用中かどうかを調べる 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Word 2007/Word 2010(Word 2000〜Word 2003) Option :[Option Explicit] 参照設定:Microsoft Word *.* ObjectLibrary 参照設定方法参照 使用 API: その他 : : |
1.Word の Tasks プロパティを使ってのタスク(プロセス)の一覧を取得 |
Private Sub Command1_Click() '起動中のタスク(プロセス)の一覧を取得 Dim wdApp As New Word.Application Dim myTk As Task For Each myTk In wdApp.Tasks '表示中(Windouがある)のプロセスだけを表示 If myTk.Visible Then Debug.Print myTk.Name End If Next wdApp.Quit Set wdApp = Nothing End Sub |
2.指定のアプリケーションが起動中かを調べ、起動していない場合は、起動する |
Private Sub Command2_Click() Dim wdApp As New Word.Application Dim myTasks As Tasks Set myTasks = wdApp.Tasks '何度も使用するなら If myTasks.Exists("電卓") Then With myTasks("電卓") .Activate .WindowState = wdWindowStateNormal End With Else Shell "calc.exe" myTasks("電卓").WindowState = wdWindowStateNormal End If Set myTasks = Nothing wdApp.Quit Set wdApp = Nothing End Sub |
3.Excel が現在実行中であるかどうかを調べ、起動中なら Excel をアクティブにします |
Private Sub Command3_Click() Dim wdApp As New Word.Application Dim myTasks As Tasks Set myTasks = wdApp.Tasks '何度も使用するなら If myTasks.Exists("Microsoft Excel") = True Then With myTasks("Microsoft Excel") .Activate .WindowState = wdWindowStateMaximize End With Else MsgBox "Microsoft Excel は、起動されていません。" End If Set myTasks = Nothing wdApp.Quit Set wdApp = Nothing End Sub |
4.指定のファイル(*.xls/*.txt等)が使用中かどうかを調べる |
Private Sub Command4_Click() Dim wdApp As New Word.Application Dim myTk As Task Dim Mekke As Boolean For Each myTk In wdApp.Tasks 'Windows 7 の IDE 環境では、vbTextCompare が動作しない場合があります。(EXE の場合は OK ) If InStr(1, myTk.Name, "Address.xls", vbBinaryCompare) Then 'vbTextCompare MsgBox "そのファイルは現在使用中です" Mekke = True Exit For End If Next If Mekke = False Then MsgBox "そのファイルは使用されていません" End If wdApp.Quit Set wdApp = Nothing End Sub メモ帳・Excel・Word 等で使用されている場合なら有効ですが、ファイル名を WindouText に表示しない場合は無効です。 |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
VB6.0 から Word を起動する VB6.0 から Word を終了する VB6.0 から ワード を起動する VB6.0 から ワード
を終了する タスクの一覧を取得 プロセスの一覧を取得 指定のアプリが起動中かどうかを調べる 指定のファイルが使用中かどうかを調べる プロセス一覧から表示中のファイルを調べる EnumWindows VBA Visual Basic for Applications |