問題を解決するのに手助けはできますか?タスクマネージャーvb.netで最後に作成されたExcelインスタンスを強制終了します
Excelのカップルインスタンス(タスクマネージャーにEXCEL.EXEを開いている)があり、最後に開いたインスタンスを強制終了します。今の私は、最初のインスタンスを殺すことができますが、私は最後に殺したい:
Sub Main()
Dim dictExe As Object
dictExe = CreateObject("Scripting.Dictionary")
Dim oServ As Object
Dim cProc
Dim oProc As Object
oServ = GetObject("winmgmts:")
cProc = oServ.ExecQuery("Select * from Win32_Process")
For Each oProc In cProc
If oProc.Name = "EXCEL.EXE" Then
dictExe.Add(oProc, oProc.CreationDate)
End If
Next
For Each oProcCatia In dictExe
If oProcCatia.Name = "EXCEL.EXE" Then
Dim errReturnCode
errReturnCode = oProcCatia.Terminate()
Exit Sub
End If
Next
End Sub
私は辞書魔女でインスタンスを殺すために考えていた最大の作成日を持っているが、私は方法がわかりません。 質問は、どのように辞書から最大の価値を持つキーを取得することができますか?
はカティアアプリケーション内でこのスクリプトコードですか?または、実際のVB.NETで作業していますか? – Forty3
アプリケーションで作成したExcelインスタンスを削除するクリーンアップルーチンですか? – user8675309
このコードはCatia VBAから取られ、vb.netに置かれました。私はCatiaのアプリケーションを閉じる必要がありますが、より多くの人々がExcelを使用するので、私はExcelのために書いています。そして問題は同じです。 – CodeCatia