【轉自】http://blog.csdn.net/xysh1991/article/details/8016192
使用方法:進入PowerDesigner,打開一個PDM,在菜單欄找到:Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X調出腳本執行窗口,輸入下邊的代碼就可以了。
下面提供段代碼可以把PowerDesigner中的小寫字母變為大寫字母。?
代碼如下:?
Option Explicit??
ValidationMode = True??
InteractiveMode = im_Batch??
Dim mdl ' 當前模型??
' 獲取當前模型??
Set mdl = ActiveModel??
If (mdl Is Nothing) Then??
?? MsgBox "沒有打開一個模型"?
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then??
?? MsgBox "當前模型不是一個PDM"?
Else??
'調用處理程序??
?? ProcessFolder mdl??
End If????
'調用的處理程序??
Private sub ProcessFolder(folder)??
?? Dim Tab '要處理的表??
?? for each Tab in folder.Tables??
??? ' if not Tab.isShortcut then??
??????? ' Tab.code = tab.name??
??????? '表名處理,前邊添加前綴,字母小寫??
??????? Tab.name=? UCase(Tab.name)??
??????? Tab.code= UCase(Tab.code)??
???????? Dim col ' 要處理的列??
???????? for each col in Tab.columns??
??????????? '列名稱和code全部小寫,大寫詩UCase??
??????????? col.code= UCase(col.code)??
??????????? col.name= UCase(col.name)??
???????? next??
????? 'end if?
?? next????
' 處理視圖??
'? Dim view 'running view??
'?? for each view in folder.Views??
?? '?? if not view.isShortcut then??
?????? '? view.code = view.name??
??? '? end if?
? ' next?????
?? ' 遞歸進入 sub-packages??
?? Dim f ' sub? folder??
?? For Each f In folder.Packages??
????? if not f.IsShortcut then??
???????? ProcessFolder f??
????? end if?
?? Next??
end sub?
=================================================================================================
下面提供段代碼可以把PowerDesigner中的大寫字母變為小寫字母。?
代碼如下:?
Option Explicit??
ValidationMode = True??
InteractiveMode = im_Batch??
Dim mdl ' 當前模型??
' 獲取當前模型??
Set mdl = ActiveModel??
If (mdl Is Nothing) Then??
?? MsgBox "沒有打開一個模型"?
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then??
?? MsgBox "當前模型不是一個PDM"?
Else??
'調用處理程序??
?? ProcessFolder mdl??
End If????
'調用的處理程序??
Private sub ProcessFolder(folder)??
?? Dim Tab '要處理的表??
?? for each Tab in folder.Tables??
??? ' if not Tab.isShortcut then??
??????? ' Tab.code = tab.name??
??????? '表名處理,前邊添加前綴,字母小寫??
??????? Tab.name= ?LCase(Tab.name)??
??????? Tab.code= LCase(Tab.code)??
???????? Dim col ' 要處理的列??
???????? for each col in Tab.columns??
??????????? '列名稱和code全部小寫,大寫詩UCase??
??????????? col.code= LCase(col.code)??
??????????? col.name= LCase(col.name)??
???????? next??
????? 'end if?
?? next????
' 處理視圖??
'? Dim view 'running view??
'?? for each view in folder.Views??
?? '?? if not view.isShortcut then??
?????? '? view.code = view.name??
??? '? end if?
? ' next?????
?? ' 遞歸進入 sub-packages??
?? Dim f ' sub? folder??
?? For Each f In folder.Packages??
????? if not f.IsShortcut then??
???????? ProcessFolder f??
????? end if?
?? Next??
end sub?
?
【代碼可以就地執行】
?