REGISTER.ID 関数は、外部 DLL(Dynamic-Link Library)内の関数を Excel に登録し、その登録情報を取得するための関数です。主に、CALL 関数や古い Excel アドインと一緒に使用されていました。
⚠️ 非常に専門的・古い用途向けで、現在の Excel バージョンでは非推奨・使用不可の場合が多いです。
🧩 書式
REGISTER.ID(モジュール名, 関数名)
または
REGISTER.ID(登録ID)
引数の意味
| 引数 | 説明 |
|---|---|
モジュール名 | 登録する DLL またはコードリソースの名前(例: "user32") |
関数名 | DLL 内の関数名(例: "MessageBoxA") |
登録ID | すでに REGISTER 関数で登録された関数の ID(省略可能) |
✅ 使用例(理論的な例)
=REGISTER.ID("user32", "MessageBoxA")
👉 この関数は Windows の「MessageBox」API を呼び出すために ID を登録します(古い Excel で有効だったケース)。
🔁 関連関数
| 関数名 | 目的 |
|---|---|
REGISTER | DLL 関数を Excel に登録 |
CALL | 登録された DLL 関数を呼び出す |
REGISTER.ID | REGISTER 関数で登録した関数の ID を取得(CALL で使う) |
⚠️ 注意点
REGISTER.IDはセキュリティリスクがあるため、現在の Excel では制限または無効化されています。- 64bit Excel 環境では、多くの旧 DLL 呼び出しは互換性がありません。
- 通常は VBA を使って API 呼び出しを行う方法がより安全で推奨されます。
✅ 推奨される代替
| 目的 | 代替手段 |
|---|---|
| Windows API 呼び出し | VBA + Declare PtrSafe Function |
| 外部処理やスクリプト連携 | Power Automate / Power Query / Office Script |
| データ取得・処理の自動化 | Python + Excel / Office Script |