HinstancePtr Property
Collapse the table of content
Expand the table of content

Application.HinstancePtr Property (Excel)

Office 2013 and later

Contribute to this content

Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.

Returns a handle to the instance of Excel represented by the specified Application object. Read-only Variant.

expression .HinstancePtr

expression A variable that represents an Application object.

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, 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. Therefore, if your code is intended to be used only with Excel 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.

In this example, a message box displays the

Excel instance handle to the user.

Sub CheckHinstance() 
    MsgBox Application.HinstancePtr 
End Sub 

© 2016 Microsoft