PowerDesigner 名称转注释脚本防丢

主要逻辑分两部分,遍历 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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注