主要逻辑分两部分,遍历 PowerDesigner 中的表和列,如果 comment 为空,则填入 name;如果不为空,则保留不变, 这样可以避免已有的注释丢失。
直接快捷键 ctrl + shift + x 粘贴执行即可:
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
Private sub ProcessFolder(folder)
Dim Tab
for each Tab in folder.tables
if not tab.isShortcut then
if trim(tab.comment)="" then
tab.comment = tab.name
end if
Dim col
for each col in tab.columns
if trim(col.comment)="" then
col.comment= col.name
end if
next
end if
next
Dim view
for each view in folder.Views
if not view.isShortcut and trim(view.comment)="" then
view.comment = view.name
end if
next
Dim f
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub