Application.HinstancePtr Property (Excel)
Returns a handle to the instance of Microsoft Excel 2010 represented by the specified Application object. Read-only Variant.
Version Information
Version Added: Excel 2010
Syntax
expression .HinstancePtr
expression A variable that represents an Application object.
Remarks
This property returns a correct handle in both the 32- and 64-bit versions of Excel. It extends the functionality of the Hinstance property of the Application object, which only works correctly in the 32-bit version of Excel.
The ideal data type to use with this property is the LongPtr data type. Assigning the value returned by this property to a LongPtr variable will work as expected in both 32- and 64-bit versions of Excel. The property is defined as Variant for internal implementation reasons. However, it always returns a 32-bit value on 32-bit systems and a 64-bit value on 64-bit systems.
This property only works starting with Excel 2010, and is only required with the 64-bit version of Excel. If you must write code that will also work with earlier versions of Excel, in order to avoid compilation errors, read this property under an #if Win64 conditional compilation directive, and use the Hinstance property under the #else directive.
Note that this property works fine in both 32- and 64-bit environments starting with Excel 2010. Therefore, if your code is intended to be used only with Excel 2010 or later, either 32- or 64-bit, it can read this property without conditional compilation.
For more information about how to use VBA in 64-bit environments, see 64-Bit Visual Basic for Applications Overview.
Example
In this example, a message box displays the
Excel 2010 instance handle to the user.
Sub CheckHinstance()
MsgBox Application.HinstancePtr
End Sub