【转】PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码

PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

 代码一:将Name中的字符COPY至Comment中


' ****************************************************************************** 
'
*    File:            name2comment.vbs 
'
*    Purpose:      Database    generation    cannot    use    object    names    anymore  
'
                          in    version    7    and    above. 
'
                          It    always    uses    the    object    codes. 
'
 
'
                          In    case    the    object    codes    are    not    aligned    with    your  
'
                          object    names    in    your    model,    this    script    will    copy  
'
                          the    object    Name    onto    the    object    Comment    for  
'
                          the    Tables    and    Columns. 
'
 
'
*    Title:        
'
*    Version:      1.0 
'
*    Company:      Sybase    Inc.  
'
****************************************************************************** 


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  
                   tab.comment  
=     tab.name 
                 
Dim     col   '     running    column 
                  for    each     col    in    tab.columns 
                         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

代码二:将Comment中的字符COPY至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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/312949/viewspace-716646/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/312949/viewspace-716646/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值