Search code examples
excelvbapid

How to get the process ID of the current Excel instance, through VBA, without using the caption?


How can I get the process ID of the current Excel instance that my VBA code is running in? I don't want to asking for it by the name in the caption, which causes problems when I have two or more Excel instances with the same caption.


Solution

  • You can use this method to get the current process id.

    Declare Function GetCurrentProcessId Lib "kernel32" () As Long
    

    This page has a good overview of exactly how you can do it in various versions of excel.