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.
'
******************************************************************************


OptionExplicit
ValidationMode
=True
InteractiveMode
=im_Batch

Dimmdl'thecurrentmodel

'getthecurrentactivemodel
Setmdl=ActiveModel
If(mdlIsNothing)Then
MsgBox"ThereisnocurrentModel"
ElseIfNotmdl.IsKindOf(PdPDM.cls_Model)Then
MsgBox"ThecurrentmodelisnotanPhysicalDatamodel."
Else
ProcessFoldermdl
EndIf

'Thisroutinecopynameintocommentforeachtable,eachcolumnandeachview
'
ofthecurrentfolder
PrivatesubProcessFolder(folder)
DimTab'runningtable
foreachTabinfolder.tables
ifnottab.isShortcutthen
tab.comment
=tab.name
Dimcol'runningcolumn
foreachcolintab.columns
col.comment
=col.name
next
endif
next

Dimview'runningview
foreachviewinfolder.Views
ifnotview.isShortcutthen
view.comment
=view.name
endif
next

'gointothesub-packages
Dimf'runningfolder
ForEachfInfolder.Packages
ifnotf.IsShortcutthen
ProcessFolderf
endif
Next
endsub

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

OptionExplicit
ValidationMode
=True
InteractiveMode
=im_Batch

Dimmdl'thecurrentmodel

'getthecurrentactivemodel
Setmdl=ActiveModel
If(mdlIsNothing)Then
MsgBox"ThereisnocurrentModel"
ElseIfNotmdl.IsKindOf(PdPDM.cls_Model)Then
MsgBox"ThecurrentmodelisnotanPhysicalDatamodel."
Else
ProcessFoldermdl
EndIf

PrivatesubProcessFolder(folder)
OnErrorResumeNext
DimTab'runningtable
foreachTabinfolder.tables
ifnottab.isShortcutthen
tab.name
=tab.comment
Dimcol'runningcolumn
foreachcolintab.columns
ifcol.comment=""then
else
col.name
=col.comment
endif
next
endif
next

Dimview'runningview
foreachviewinfolder.Views
ifnotview.isShortcutthen
view.name
=view.comment
endif
next

'gointothesub-packages
Dimf'runningfolder
ForEachfInfolder.Packages
ifnotf.IsShortcutthen
ProcessFolderf
endif
Next
endsub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值