Свойство Application.HinstancePtr (Excel)

Возвращает дескриптор экземпляра Excel, представленного указанным объектом Application . Только для чтения, Variant.

Синтаксис

выражение. HinstancePtr

выражение: переменная, представляющая объект Application.

Примечания

Это свойство возвращает правильный дескриптор как в 32-, так и в 64-разрядной версиях Excel. Он расширяет функциональность свойства Hinstance объекта Application , которое корректно работает только в 32-разрядной версии Excel.

Идеальным типом данных для использования с этим свойством является тип данных LongPtr . Присвоение значения, возвращаемого этим свойством, переменной LongPtr , будет работать должным образом как в 32-, так и в 64-разрядной версиях Excel. Свойство определено как Variant по причинам внутренней реализации. Однако он всегда возвращает 32-разрядное значение в 32-разрядных системах и 64-разрядное в 64-разрядных.

Это свойство работает, только начиная с Excel, и требуется только в 64-разрядной версии Excel. Если необходимо написать код, который будет работать и с более ранними версиями Excel, чтобы избежать ошибок компиляции, считывайте это свойство в директиве #if Win64 условной компиляции и используйте свойство Hinstance в директиве #else .

Обратите внимание, что это свойство работает как в 32-, так и в 64-разрядной среде, начиная с Excel. Поэтому, если код предназначен только для Excel или более поздней версии, 32- или 64-разрядной, он может читать это свойство без условной компиляции.

Дополнительные сведения об использовании VBA в 64-разрядных средах см. в статье Обзор 64-разрядной версии Visual Basic для приложений.

Пример

В этом примере окно сообщения показывает пользователю дескриптор экземпляра Excel.

Sub CheckHinstance() 
    MsgBox Application.HinstancePtr 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.