Power Designer comment与name互转(vbs脚本)

分享转载:https://blog.csdn.net/u010216641/article/details/48712503?utm_source=blogxgwz1

PowerDesigner表结构和字段大小写转换

操作步骤:

1)进入PowerDesigner,打开一个PDM,在菜单栏找到:Tools – Excute Commands – Edit/Run Script,然后打开name2comment.vbs脚本;

2)或者直接按Ctrl+Shift+X调出脚本执行窗口,输入name2content.vbs脚本

执行代码如下(name2comment.vbs):

1)name中文复制到comment中文

Option Explicit  
ValidationMode = True  
InteractiveMode = im_Batch  
Dim mdl ' 当前模型  
' 获取当前模型  
Set mdl = ActiveModel  
If (mdl Is Nothing) Then  
   MsgBox "没有打开一个模型" 
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then  
   MsgBox "当前模型不是一个PDM" 
Else  
'调用处理程序  
   ProcessFolder mdl  
End If    
'调用的处理程序  
Private sub ProcessFolder(folder)  
   Dim Tab '要处理的表  
   for each Tab in folder.Tables  
    ' if not Tab.isShortcut then  
        ' Tab.code = tab.name  
        '表名处理,前边添加前缀,字母小写  
        Tab.name= UCase(Tab.name)  
        Tab.code= UCase(Tab.code)  
        tab.comment = tab.name 
         Dim col ' 要处理的列  
         for each col in Tab.columns  
            '列名称和code全部小写,大写诗UCase  
            col.code= UCase(col.code)  
            col.name= UCase(col.name)  
       '列name复制到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.code = view.name ' end if ' next ' 递归进入 sub-packages Dim f ' sub folder For Each f In folder.Packages if not f.IsShortcut then ProcessFolder f end if Next end sub

2)comment转name中文

Option Explicit  
ValidationMode = True  
InteractiveMode = im_Batch  
Dim mdl ' 当前模型  
' 获取当前模型  
Set mdl = ActiveModel  
If (mdl Is Nothing) Then  
   MsgBox "没有打开一个模型" 
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then  
   MsgBox "当前模型不是一个PDM" 
Else  
'调用处理程序  
   ProcessFolder mdl  
End If    
'调用的处理程序  
Private sub ProcessFolder(folder)  
   Dim Tab '要处理的表  
   for each Tab in folder.Tables  
    ' if not Tab.isShortcut then  
        ' Tab.code = tab.name  
        '表名处理,前边添加前缀,字母小写  
        Tab.name= UCase(Tab.name)  
        Tab.code= UCase(Tab.code)  
        tab.comment = tab.name 
         Dim col ' 要处理的列  
         for each col in Tab.columns  
            '列名称和code全部小写,大写诗UCase  
            col.code= UCase(col.code)  
            col.name= UCase(col.name)  
       '列名comment复制到name上' col.name = col.comment
next 'end if next ' 处理视图 ' Dim view 'running view ' for each view in folder.Views ' if not view.isShortcut then ' view.code = view.name ' end if ' next ' 递归进入 sub-packages Dim f ' sub folder For Each f In folder.Packages if not f.IsShortcut then ProcessFolder f end if Next end sub

 

posted @ 2019-09-30 10:20  星空异皓`  阅读(631)  评论(0编辑  收藏  举报
/*页脚固定*/