私の一生の間、コーディングが機能しない理由がわかりません。次のコーディングでは、ファイルがメモ帳で開いている場合はメッセージが表示されますが、ファイルがWordで開いている場合やExcelで開いている場合はメッセージが表示されません。
Dim apps = 0
Dim Process() As Process = System.Diagnostics.Process.GetProcesses
For Each p As Process In Process
If p.MainWindowTitle.ToString.Contains("test") Then
If p.ProcessName = "notepad" Then
MsgBox("test file is open in notepad")
apps += 1
ElseIf p.ProcessName = "winword" Then
MsgBox("test file is open in word")
apps += 1
ElseIf p.ProcessName = "excel" Then
MsgBox("test file is open in excel")
apps += 1
End If
End If
Next
If apps = 0 Then
'run my code
End If
単語をチェックして優れているようには見えませんが、次のコーディングスニペットはどちらも機能しますか?
Dim Process2() As Process = System.Diagnostics.Process.GetProcessesByName("winword")
For Each p As Process In Process2
If p.MainWindowTitle.Contains("test") Then
MsgBox("test file is open in word")
End If
Next
と
Dim Process2() As Process = System.Diagnostics.Process.GetProcessesByName("excel")
For Each p As Process In Process2
If p.MainWindowTitle.Contains("test") Then
MsgBox("test file is open in excel")
End If
Next