REGISTER.ID関数 – アドイン/オートメーション

REGISTER.ID関数 – 登録済みDLL関数のIDを取得する関数


1. 使い方と活用例

REGISTER.ID関数は、Excelに登録されたDLL(ダイナミックリンクライブラリ)内の関数に割り当てられたIDを取得する関数です。
これは REGISTER関数 を使用して事前に登録された関数を、ワークシートや他のマクロから識別・呼び出しするために使用されます。
現在はセキュリティ上の理由から非推奨であり、通常のユーザーが使用するケースはほとんどありません。

2. 基本の書式

=REGISTER.ID(ライブラリ名, 関数名)

3. 引数の説明

  • ライブラリ名 – 登録済みのDLLファイルのパスまたは名前。
  • 関数名 – 登録された関数の名前。

4. 使用シーン

  • Excel 4.0 マクロ(XLM)で DLL 関数を呼び出す必要があるとき
  • 古いシステムでカスタムDLL関数のID管理を行いたいとき
  • VBA や外部モジュールとの高度な連携を行う場面(現代では非推奨)

5. 応用のポイント

REGISTER.ID関数は、REGISTER関数で一度登録された関数に対してのみ有効です。
取得したIDは、CALL関数などで使用して、該当DLL関数を呼び出すための識別子になります。
ただし現在のExcelバージョンではこの機能は原則として無効化または制限されており、使用は非推奨です。

6. 具体例とその解説

=REGISTER.ID("example.dll", "MyFunction")

example.dll 内に登録された “MyFunction” の関数IDを取得します。
IDは整数または16進形式のハンドル値として返され、CALL関数で使用できます。

7. 関連関数の紹介

  • REGISTER関数 – DLL関数やXLL関数をExcelに登録する旧関数
  • CALL関数 – DLLやコードモジュール内の関数を呼び出す関数
  • INFO関数 – システム情報を取得する関数(より安全な代替)
  • WEBSERVICE関数 – 外部のWebサービスからデータを取得する関数

8. まとめ

REGISTER.ID関数は、外部DLL関数を呼び出すために必要な識別IDを取得する旧関数で、かつては高度なシステム連携に使用されていました。
しかし現在はセキュリティの観点から非推奨であり、現代のExcelでは実用性が低く、使用も制限されています。

9. 対応バージョン

REGISTER.ID関数は、Excel 4.0以降の旧バージョンで使用されてきましたが、
Excel 2010以降では非推奨とされており、Microsoft 365では既定で無効になっていることがあります。
業務利用や配布用ブックでは使用を避けることが推奨されます。