作成日 2005/1/9
最終更新日 2005/10/22

オブジェクトブラウザにメソッドの説明文を載せる

 Visual Basic 6.0の場合、[ツール]-[プロシージャ属性]で設定できるけど、VBAにはない。
どーするのか?
 実はApplicationクラスのMacroOptionsメソッドを使うと出来る。(Excel Xだけかも2003はダメだった)
モジュールをエクスポートし、ファイルの中身を書き換えてインポートという方法もある。

1.オブジェクトブラウザとは
2.説明文の設定方法1(MacroOptionsメソッドを使用)
3.説明文の設定方法2(エクスポートしてファイルを書き換えてインポート)
4.説明文の取得は?

1.オブジェクトブラウザとは

 VBEで[表示]-[オブジェクト ブラウザ]を選択するか、
以下のコマンドをイミディエイトウインドウとかで実行すると開くウインドウ。
Application.VBE.Windows("オブジェクト ブラウザ").Visible = True
で、クラス、メソッドやプロパティの定義情報の検索、表示が出来るとってもありがたい機能。
オブジェクトブラウザ
オブジェクトブラウザ
このページのトップへ

2.説明文の設定方法1(MacroOptionsメソッドを使用)

 クラスモジュールClass1にあるaaaメソッドの説明文をオブジェクトブラウザに載せるには、以下のコマンドを実行すればいい。
※これはExcel Xの場合です。Excel 2003ではダメでした。(2003の場合、標準モジュールで定義してあるプロシージャしか出来ないみたい。)
Application.MacroOptions macro:="Class1.aaa", Description:="あああ"
結果
MacroOptionsメソッドを使って、Class1のaaaメソッドに説明文を設定した結果
MacroOptionsメソッドを使って、Class1のaaaメソッドに説明文を設定した結 果

 どうやら、MacroOptionsメソッドのmacroっていう引数にクラスモジュールのメソッド名を指定するときは
  クラス名.メソッド名
とすればいいみたい。(Excel 2003ではクラス名には標準モジュールの名前しか指定できないみたい。)
 いろいろ、やってみたら、Public SubとPublic Functionプロシージャに対してにしかできかった。
このページのトップへ

3.説明文の設定方法2(エクスポートしてファイルを書き換えてインポート)

 まず、モジュールをエクポートする。(Mac版Excelを使っている人はここを参考にエクスポートして下さい。(別ウインドウが開きます))
 そしたら、エクスポートしたファイルをテキストエディタ等で開く。
 下の例の赤字の部分のように、プロシージャの宣言部の次の行にAttribute プロシージャ名.VB_Description="説明文"を書く。

VERSION 5.00

Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} UserForm1

   Caption         =   "UserForm1"

   ClientHeight    =   4800

   ClientLeft      =   0

   ClientTop       =   0

   ClientWidth     =   6400

   OleObjectBlob   =   "UserForm1.frx":0000

   StartUpPosition =   1  'CenterOwner

End

Attribute VB_Name = "UserForm1"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'クリックした時の処理
Private Sub UserForm_Click()
Attribute UserForm_Click.VB_Description = "クリックした時の処理"


End Sub

'なんか
Private Property Get test() As Long
Attribute test.VB_Description = "テスト\nテスト"

End Property

説明文の追加例 (\nは改行だよ)


 最後に、インポートする。(Mac版Excelを使っている人は ここを参考にインポートして下さい。(別ウインドウが開きます))
このページのトップへ

4.説明文の取得は?

 説明文を取得するVBA標準のメソッドorプロパティってあるのかなぁ。
 だるまは知らない。
 誰か教えて。
Prev Up Next  Top
このページのトップへ


このページの利用によって発生した、いかなる損害について、この ホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方はメールをお願いします。

Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS 、Mac OS X は米国Apple Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。

このホームページの作成者はこれらの会社とはいっさい関係がありません。