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

在用PowerDesigner时.常常在NAME或Comment中写中文在Code中写英文.Name只会显示给我们看,Code会使用在代码中.但Comment中的文字会保存到数据库TABLE的Description中,有时候我们写好了Name再写一次Comment很麻烦.以下两段代码就可以解决这个问题.
代码一:将Name中的字符COPY至Comment中

使用菜单:"Tools->Execute Commands->Edit/Run Scripts"来执行下面脚本



' ******************************************************************************
'
*File:name2comment.vbs
'
*Purpose:Databasegenerationcannotuseobjectnamesanymore
'
inversion7andabove.
'
Italwaysusestheobjectcodes.
'

'
Incasetheobjectcodesarenotalignedwithyour
'
objectnamesinyourmodel,thisscriptwillcopy
'
theobjectNameontotheobjectCommentfor
'
theTablesandColumns.
'

'
*Title:
'
*Version:1.0
'
*Company:SybaseInc.
'
******************************************************************************


Option Explicit
ValidationMode
= True
InteractiveMode
= im_Batch

Dim mdl ' thecurrentmodel

' getthecurrentactivemodel
Set mdl = ActiveModel
If (mdl Is Nothing ) Then
MsgBox " ThereisnocurrentModel "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox " ThecurrentmodelisnotanPhysicalDatamodel. "
Else
ProcessFoldermdl
End If

' Thisroutinecopynameintocommentforeachtable,eachcolumnandeachview
'
ofthecurrentfolder
Private sub ProcessFolder(folder)
Dim Tab ' runningtable
for each Tabinfolder.tables
if not tab.isShortcut then
tab.comment
= tab.name
Dim col ' runningcolumn
for each colintab.columns
col.comment
= col.name
next
end if
next

Dim view ' runningview
for each viewinfolder.Views
if not view.isShortcut then
view.comment
= view.name
end if
next

' gointothesub-packages
Dim f ' runningfolder
For Each fInfolder.Packages
if not f.IsShortcut then
ProcessFolderf
end if
Next
end sub

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

Option Explicit
ValidationMode
= True
InteractiveMode
= im_Batch

Dim mdl ' thecurrentmodel

' getthecurrentactivemodel
Set mdl = ActiveModel
If (mdl Is Nothing ) Then
MsgBox " ThereisnocurrentModel "
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
MsgBox " ThecurrentmodelisnotanPhysicalDatamodel. "
Else
ProcessFoldermdl
End If

Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab ' runningtable
for each Tabinfolder.tables
if not tab.isShortcut then
tab.name
= tab.comment
Dim col ' runningcolumn
for each colintab.columns
if col.comment = "" then
else
col.name
= col.comment
end if
next
end if
next

Dim view ' runningview
for each viewinfolder.Views
if not view.isShortcut then
view.name
= view.comment
end if
next

' gointothesub-packages
Dim f ' runningfolder
For Each fInfolder.Packages
if not f.IsShortcut then
ProcessFolderf
end if
Next
end sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值