powerdesigner 名称、注释相互覆盖

按照如图步骤,执行下面对应脚本即可实现数据覆盖
在这里插入图片描述

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.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

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.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

转载自:https://www.cnblogs.com/wudeyun/p/13021409.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dfhao12

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值