1. 程式人生 > >PowerDesigner執行腳本

PowerDesigner執行腳本

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執行腳本