PowerDesigner執行腳本
阿新 • • 發佈:2017-11-02
mman 技術分享 -1 pdm logs cit exp bsp pow
執行方法:工具欄->Tools -> Execute Commands -> Edit/Run Script (Ctrl+Shift+X)
如下圖所示:
1、Name轉到Comment註釋字段
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 ‘ This routine copy name into comment for each table, each column and each view‘ of the current folder Private sub ProcessFolder(folder) Dim Tab ‘running table for each Tab in folder.tables if not tab.isShortcut then if trim(tab.comment)="" then‘如果有表的註釋,則不改變它.如果沒有表註釋.則把name添加到註釋裏面. tab.comment= tab.name end if Dim col ‘ running column for each col in tab.columns if trim(col.comment)="" then ‘如果col的comment為空,則填入name,如果已有註釋,則不添加;這樣可以避免已有註釋丟失. col.comment= col.name end if next end if next Dim view ‘running view for each view in folder.Views if not view.isShortcut and trim(view.comment)="" 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、將Comment內容保存到NAME中
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
PowerDesigner執行腳本