powerdesigner 名称、注释互转

依次执行 1 - 5 步,实现 注释转名称 或者名称转注释,两个转换脚本附上

 

 

 

1. 名称转注释脚本:

Option Explicit
ValidationMode  = True
InteractiveMode = im_Batch

Dim mdl ' the current model

' get the current active model
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)
    On Error Resume Next
    Dim Tab 'running table

    For Each Tab In folder.tables

        If Not tab.isShortcut Then
            '将表名称作为表注释
            tab.comment = tab.name
            Dim col ' running column

            For Each col in tab.columns
                '把列名称和comment合并为comment
                col.comment = col.name
            Next

        End If

    Next

    Dim view 'running view

    For Each view in folder.Views

        If Not view.isShortcut Then
            view.comment = view.name
        End If

    Next

    ' go into the sub-packages
    Dim f ' running folder

    For Each f In folder.Packages

        If Not f.IsShortcut Then
            ProcessFolder f
        End If

    Next

End Sub

2. 注释转名称

Option Explicit
ValidationMode  = True
InteractiveMode = im_Batch

Dim mdl ' the current model  

' get the current active model  
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)
    On Error Resume Next
    
    Dim Tab 'running table  
    For Each Tab In folder.tables
        If Not tab.isShortcut Then
            tab.name = tab.comment
            Dim col ' running column  
            For Each col In tab.columns
                If col.comment = "" Then
                Else
                    col.name = col.comment
                End If
            Next
        End If
    Next
    
    Dim view 'running view  
    For Each view In folder.Views

        If Not view.isShortcut Then
            view.name = view.comment
        End If
    Next

    ' go into the sub-packages  
    Dim f ' running folder  
    For Each f In folder.Packages

        If Not f.IsShortcut Then
            ProcessFolder f
        End If
    Next

End Sub

 

posted on 2020-05-31 20:48  一直小飞猫  阅读(715)  评论(0编辑  收藏  举报

导航