CALL 関数
適用対象: Microsoft Excel 2010, Excel Web App, SharePoint Online for enterprises, SharePoint Online for professionals and small businesses
重要 注意 レジストリを誤って編集すると、オペレーティング システムに重大な障害が発生し、再インストールを要求される場合があります。マイクロソフトでは、このようなレジストリの誤った編集による問題については保証していません。レジストリを編集する前に、重要なデータのバックアップを行ってください。レジストリの使用および保護の詳細については、Microsoft Windows ヘルプを参照してください。
メモ CALL 関数は Excel Web App では利用できません。
説明
ダイナミック リンク ライブラリ (DLL) またはコード リソースに含まれるプロシージャを呼び出します。この関数には 2 種類の形式があります。すでに登録されているコード リソースの呼び出しだけを行うときは書式 1 を使います。書式 1 では、REGISTER 関数の引数を使います。コード リソースの登録と呼び出しを同時に行うときは、書式 2a または 2b を使います。
重要 この関数は詳しい知識のあるユーザー向けです。CALL 関数を不用意に使用すると、コンピューターの再起動を伴うエラーが発生することがあります。この関数は、Excel マクロ シートでのみ利用できます。
書式
書式 1
CALL(レジスタ番号,[引数 1],...])
書式 2
単独使用 (Windows 版 Microsoft Excel)
レジスタ番号 CALL 関数の前に実行した REGISTER 関数または REGISTER.ID 関数の戻り値を指定します。
CALL(モジュール名,プロシージャ名,タイプ,[引数 1],...])
- モジュール名 必ず指定します。Microsoft Excel で、目的のプロシージャを含む DLL の名前を、半角の二重引用符 (") で囲んだ文字列として指定します。
- プロシージャ名 必ず指定します。Windows 版 Microsoft Excel で、DLL 内の関数の名前を半角の二重引用符 (") で囲んだ文字列として指定します。名前の代わりにモジュール定義関数ファイル (拡張子は .DEF) 内の EXPORTS ステートメントに記述されている関数の番号を指定することもできます。関数の番号は数値として指定するため、半角の二重引用符は必要ありません。
- タイプ 必ず指定します。戻り値のデータ型、および DLL やコード リソースに引き渡す、すべての引数のデータ型を半角の二重引用符 (") で囲んだ文字列として指定します。データ型の先頭文字は戻り値のデータ型を指定します。データ型として使用するコードの詳細については、ヘルプの「CALL 関数と REGISTER 関数の使い方」を参照してください。独立型の DLL またはコード リソース (XLL) の場合、この引数は省略できます。
- 引数 1,... 省略可能です。プロシージャに渡される引数を指定します。
使用例
次のマクロ数式は、32 ビット Microsoft Windows の GetTickCount 関数 (プロシージャ) をメモリに登録します。GetTickCount 関数は、Windows が起動してから経過した時間をミリ秒単位で返します。
REGISTER("Kernel32","GetTickCount","J")
REGISTER 関数がセル A5 に入力されているとすると、REGISTER 関数の実行後に、次のような CALL 関数を使って、Windows が起動してからの経過時間をミリ秒単位で計算できます。
CALL(A5)
- CALL 関数のページへのリンク