Skip to content

Instantly share code, notes, and snippets.

@honda0510
Created May 2, 2011 05:51
Show Gist options
  • Save honda0510/951216 to your computer and use it in GitHub Desktop.
Save honda0510/951216 to your computer and use it in GitHub Desktop.
ObjectLister
1. Tlbinf32.dllを準備
Tlbinf32.dllはVisual Basic 6.0のCDに付属しているらしい?
ファイル: Tlbinf32.exe: Tlbinf32.dll のファイルのヘルプ
http://support.microsoft.com/kb/224331/ja
もしくは、Tlbinf32.dllを配布しているWebサイトからダウンロード
2. レジストリに登録
Windwos XPの場合:
スタート > ファイル名を指定して実行
regsvr32 C:\Windows\System32\Tlbinf32.dll
3. ObjectListerをダウンロード
http://www.jkp-ads.com/articles/ObjectLister.asp
このページの真ん中あたりにあるObjectlister.zipをダウンロード
4. デモ
Objectlister.zipを解凍してできたObjectLister 003.xlsを開く(マクロを有効にする)。
Sheet1のグラフをクリックしてキーボードでCtrl + Alt + Oを押すとツールが起動します。
5. 値も出力
Reportボタンで新しいシートにメンバ名が出力されるのですが、値も出力してほしかったのでコードをいじってみました。
ユーザーフォームのufObjBrowserのReportTreeメソッドを下記のようにすると値も出力します。
Private Sub ReportTree()
Dim oSh As Worksheet
Dim nNode As MSComctlLib.Node
Dim lCount As Long
Application.ScreenUpdating = False
Set oSh = Workbooks.Add(xlWBATWorksheet).Worksheets(1)
lCount = 0
On Error Resume Next
For Each nNode In trvObjProps.Nodes
lCount = lCount + 1
With oSh.Rows(lCount)
.Range("A1").value = nNode.Key
.Range("B1").value = Trim$(Split(nNode.Text, ",")(1))
End With
Next
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment