VBA コードが実行されている現在の Excel インスタンスのプロセス ID を取得するにはどうすればよいですか? 同じキャプションを持つ 2 つ以上の Excel インスタンスがあると問題が発生します。
27307 次
3 に答える
18
このメソッドを使用して、現在のプロセスIDを取得できます。
Declare Function GetCurrentProcessId Lib "kernel32" () As Long
このページには、さまざまなバージョンのExcelでそれを実行する方法の概要が記載されています。
于 2009-06-02T21:52:14.053 に答える
3
vba n00bとして、私が知らなかった他のいくつかのこと
宣言ステートメントが一番上にあります。サブ宣言の後にdeclareステートメントが挿入されると、VBAは文句を言います
たとえば、これは機能します
Declare Function GetCurrentProcessId Lib "kernel32" () As Long Sub Update ... ... End Sub
しかし、これは機能しません
Sub Update ... ... End Sub Declare Function GetCurrentProcessId Lib "kernel32" () As Long
これがvbscriptのメッセージボックスにPIDを表示する方法です
Set app = CreateObject("Excel.Application") MsgBox("Excel PID is " + CStr(app.Run("GetCurrentProcessId")))
これが誰かに役立つことを願っています
于 2012-09-12T14:58:23.847 に答える
3
Excel 2013 での私のソリューション: 新しいモジュールで、次のコードを追加しました。
Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Public Sub Test()
Debug.Print GetCurrentProcessId
End Sub
于 2015-06-04T14:41:25.137 に答える