Поделиться через


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

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

Синтаксис

expression. 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 и обратная связь.