问题
使用Access 2010数据库的文档例程。在数据库内有许多模块和类。我可以很容易地打印这些名称以及Get / Set属性,但是还没有找到通过VBE的模块属性面板检索描述输入的方法。
背景
使用Application.VBE.VBProjects
集合,我可以获得模块和名称的名称。使用
'iterate through modules
For Each vbComp In vbProj.VBComponents
Set vbMod = vbComp.CodeModule
'fetch description
Select Case TypeName(vbMod)
Case "CodeModule" 'module
'description = CurrentDb.Containers("Modules").Documents(vbMod).Properties("Description")
Case Else
description = ""
End Select
Debug.Print vbComp.Name
Debug.Print description
Next
CurrentDb.Containers("Modules").Documents(vbMod).Properties("Description")
行错误了。这是获得描述属性的一个尝试,但没有骰子。
通过查看Daniel Pineault's例程得到了这一点,但没有搜索显示如何获取模块/类描述。你可以得到项目描述&表描述,但没有模块/类描述。检索它们将大大减少文档编制时间。
问题
有关如何检索这些说明的任何想法?
答案 0 :(得分:3)
你快到了。 Documents
集合需要名称(或索引),而不是对象。使用VBComp.Name
或vbMod.Name
。
'fetch description
Select Case TypeName(vbMod)
Case "CodeModule" 'module
' Handle modules without Description property
On Error Resume Next
Description = CurrentDb.Containers("Modules").Documents(VBComp.Name).Properties("Description")
If Err.Number <> 0 Then Description = ""
On Error GoTo 0
修改强>
实际上,错误处理是更重要的部分。
Case
中,但它们不会包含在Containers("Modules")
中。这些模块没有单独的描述。如果您想要打印表单/报告说明,则必须添加另一个案例区别。