Dokumentera moduler
Här visas hur vi kan skapa en slags dokumentation över en moduls egenskaper. Det är dessa egenskaper som visas i fönstret för egenskaper. För klass- och standardmoduler är antalet egenskaper få varför denna typ av dokumentation saknar relevans för dessa modultyper.
Glöm inte av att ange en referens "Microsoft Visual Basic for Applications Extensibility 5.3".
Sub VBAModul_Dokumentation()
'© 2002 Alla rättigheter XL-Dennis
Dim vbaProjekt As VBProject
Dim vbaModul As VBComponent
Dim prpModul As Property
Dim vaItem As Variant
Dim blFlagga As Boolean
Dim i As Long, j As Long
Set vbaProjekt = ThisWorkbook.VBProject
'Här anges vilken modul som ska dokumenteras.
Set vbaModul = vbaProjekt.VBComponents("ThisWorkbook")
On Error GoTo Felhanteringi = 1
j = 2
For Each prpModul In vbaModul.Properties
i = i + 1
With prpModul
Cells(i, 1).Value = .Name
'Sätter en flagga för att markera att vi försöker
'läsa ett värde.
blFlagga = True
If .NumIndices > 0 Then
Cells(i, 2).Value = "Index: " & .NumIndices
ElseIf IsObject(.Value) Then
Cells(i, 2).Value = "<Objekt (" & TypeName(prpModul.Object) & ")>"
ElseIf IsArray(.Value) Then
For Each vaItem In .Value
j = j + 1
Cells(i, j).Value = vaItem
Next
Else
Cells(i, 2).Value = prpModul.Value
End If
blFlagga = False
End With
Nasta:
Next
Columns("A:D").EntireColumn.AutoFit
Avsluta:
Exit Sub
Felhantering:
If blFlagga Then
Cells(i, 4).Value = "<Fel " & Err.Number & " :" & Err.Description & ">"
Resume Nasta
Else
MsgBox Err.Description, vbExclamation, "Fel " & Err.Number
Resume Avsluta
End If
End Sub