>>285
まずMSDNを「拡張モデルのオブジェクトと構造」で検索。
そこの「拡張モデルのオブジェクト」と「コードを操作できるオブジェクト」
の各項目に目を通す。
オブジェクトの階層をVBE→VBProject→VBComponent→CodeModuleと下っていって
Memberオブジェクトのとこに目的に適いそうなメソッドがあるな。
TypeプロパティとScopeプロパティとかいうの。

CodeModuleのMembersコレクションをFor eachか何かで一個ずつ調べて
Typeがvbext_MemberType型のどの値を取るかで変数か関数か判別できるし、
Scope(これはvbext_Scope型)の値でPublicかPrivateかFriendかがわかる。

ただし関数内の変数は取得できないようだな。
関数全体のコードは取得できそうなので検索と文字列操作を何とかすれば
できなくもなさそうだが。