アプリケーションの hinstanceptr プロパティ (Excel)Application.HinstancePtr property (Excel)

指定したApplicationオブジェクトによって表される Excel のインスタンスへのハンドルを返します。Returns a handle to the instance of Excel represented by the specified Application object. バリアント型 (Variant) の値を使用します。Read-only Variant.

構文Syntax

hinstanceptrexpression.HinstancePtr

expression**Application** オブジェクトを 表す変数。expression A variable that represents an Application object.

注釈Remarks

このプロパティは、32ビットと64ビットの両方のバージョンの Excel で適切なハンドルを返します。This property returns a correct handle in both the 32-bit and 64-bit versions of Excel. Applicationオブジェクトの**Hinstance** プロパティの機能が拡張されます。これは、32ビットバージョンの Excel でのみ正常に動作します。It extends the functionality of the Hinstance property of the Application object, which only works correctly in the 32-bit version of Excel.

このプロパティで使用する理想的なデータ型は、 LongPtr データ型です。The ideal data type to use with this property is the LongPtr data type. このプロパティによって返される値をLongPtr変数に代入すると、32ビットバージョンと64ビットバージョンの Excel の両方で正常に動作します。Assigning the value returned by this property to a LongPtr variable will work as expected in both 32-bit and 64-bit versions of Excel. このプロパティは、内部での実装に関する理由で、バリアント型 (Variant) として定義されます。The property is defined as Variant for internal implementation reasons. ただし、常に、32 ビット システム上では 32 ビットの値、64 ビット システム上では 64 ビットの値を取得します。However, it always returns a 32-bit value on 32-bit systems and a 64-bit value on 64-bit systems.

このプロパティは、Excel 以降のみで動作し、64 ビット版の Excel でのみ必須です。This property only works starting with Excel, and is only required with the 64-bit version of Excel. 以前のバージョンの Excel でも動作するコードを記述する必要がある場合は、コンパイルエラーを回避するために、 #if Win64条件付きコンパイルディレクティブの下でこのプロパティを読み取り#else 、ディレクティブの下でHinstanceプロパティを使用します。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.

このプロパティは、Excel 以降の32ビットと64ビットの両方の環境で正常に動作することに注意してください。Note that this property works fine in both 32-bit and 64-bit environments starting with Excel. そのため、コードが Excel 以降でのみ使用されることを意図している場合は、32ビットまたは64ビットのどちらかの場合は、このプロパティを条件付きコンパイルせずに読み取ることができます。Therefore, if your code is intended to be used only with Excel or later, either 32-bit or 64-bit, it can read this property without conditional compilation.

64ビット環境での VBA の使用方法の詳細については、「 64-bit Visual Basic for Applications の概要」を参照してください。For more information about how to use VBA in 64-bit environments, see 64-bit Visual Basic for Applications overview.

Example

この例では、ユーザーに対する Excel インスタンスハンドルをメッセージボックスに表示します。In this example, a message box displays the Excel instance handle to the user.

Sub CheckHinstance() 
    MsgBox Application.HinstancePtr 
End Sub

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.