'替换PD模型中的名称Name和编号Code
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 code for each table and each column
' of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
sFindCode = "findCode"
sReplaceCode = "ReplaceCode"
sFindName = "FindName"
sReplaceName = "ReplaceName"
for each Tab in folder.tables
if not tab.isShortcut then
tab.code=Replace(tab.code,sFindCode,sReplaceCode)
tab.name=Replace(tab.name,sFindName,sReplaceName)
Dim col ' running column
for each col in tab.columns
col.code=Replace(col.code,sFindCode,sReplaceCode)
col.name=Replace(col.name,sFindName,sReplaceName)
next
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
本文提供了一段用于在PD模型中批量替换表格及列名称和编号的VBA脚本。该脚本首先获取当前活动模型,并检查其是否为物理数据模型。接着遍历模型中的每个表格及其列,进行指定字符串的替换操作。此外,脚本还会递归处理子文件夹中的内容。
900

被折叠的 条评论
为什么被折叠?



