CALL 関数

CALL 関数

Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016 Excel for iPad Excel for iPhone Excel for Android タブレット Excel for Android スマートフォン その他…表示数を減らす

重要: 注意 レジストリを誤って編集すると、オペレーティング システムに重大な障害が発生し、再インストールを要求される場合があります。 Microsoft では、このようなレジストリの誤った編集による問題については保証していません。 レジストリを編集する前に、重要なデータをバックアップしてください。 レジストリの使用および保護の詳細については、Microsoft Windows ヘルプを参照してください。

ここでは、Microsoft Excel の CALL 関数の書式および使用法について説明します。

注: CALL 関数は、 Web 用 Excelでは使用できません。

説明

ダイナミック リンク ライブラリまたはコード リソース内のプロシージャを呼び出します。 この関数には 2 つの構文形式があります。 REGISTER 関数の引数を使用する、以前に登録したコード リソースでのみ構文 1 を使用します。 構文 2a または 2b を使用して、コード リソースを同時に登録して呼び出します。

重要: この関数は詳しい知識のあるユーザー向けです。 CALL 関数を不用意に使用すると、コンピューターの再起動を伴うエラーが発生することがあります。 この関数は、Excel マクロ シートでのみ利用できます。

書式

書式 1

REGISTER 関数と共に使用

CALL(レジスタ番号,[引数 1],…)

書式 2

単独使用 (Windows 版 Microsoft Excel)

レジスタ番号 CALL 関数の前に実行した REGISTER 関数または REGISTER.ID 関数の戻り値を指定します。

CALL(モジュール名,プロシージャ名,データ型,[引数 1],…)

CALL 関数の書式には、次の引数があります。

  • モジュール名 必ず指定します。 Microsoft Excel で、目的のプロシージャを含む DLL の名前を、半角の二重引用符 (") で囲んだ文字列として指定します。

  • プロシージャ名 必ず指定します。 Windows 版 Microsoft Excel で、DLL 内の関数の名前を半角の二重引用符 (") で囲んだ文字列として指定します。 名前の代わりにモジュール定義関数ファイル (拡張子は .DEF) 内の EXPORTS ステートメントに記述されている関数の番号を指定することもできます。 関数の番号は数値として指定するため、半角の二重引用符は必要ありません。

  • データ型 必ず指定します。 戻り値のデータ型、および DLL やコード リソースに引き渡す、すべての引数のデータ型を半角の二重引用符 (") で囲んだ文字列として指定します。 データ型の先頭文字は戻り値のデータ型を指定します。 データ型として使用するコードの詳細については、ヘルプの「 target=”_blank” title=”CALL 関数と REGISTER 関数の使い方” rel=”noopener”>CALL 関数と REGISTER 関数の使い方」を参照してください。 独立型の DLL またはコード リソース (XLL) の場合、この引数は省略できます。

  • 引数 1,… 省略可能です。 プロシージャに渡される引数を指定します。

使用例

次のマクロ数式は、32 ビット Microsoft Windows の GetTickCount 関数 (プロシージャ) をメモリに登録します。 GetTickCount 関数は、Windows が起動してから経過した時間をミリ秒単位で返します。

REGISTER("Kernel32","GetTickCount","J")

REGISTER 関数がセル A5 に入力されているとすると、REGISTER 関数の実行後に、次のような CALL 関数を使って、Windows が起動してからの経過時間をミリ秒単位で計算できます。

CALL(A5)

上部へスクロール