1.把字段及表注释为空的用name来代替
Option Explicit
ValidationMode = True
InteractiveMode = im_Abort
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
if tab.comment = "" then tab.comment = tab.name '进行判断并赋值
Dim col '定义列对象
for each col in tab.columns
if col.comment = "" then col.comment = col.name '进行判断并赋值
next
end if
next
'对子包进行递归,如果不使用递归只能取到第一个模型图内的表
dim subfolder
for each subfolder in folder.Packages
ProcessFolder subfolder
next
End Sub
2.
'******************************************************************************
'* File: CommentVsName.vbs
'* Purpose: 批量修改表名
'* Use: 打开PDM,运行本脚本(Ctrl+Shift+X)
'******************************************************************************
Option Explicit
ValidationMode = True
InteractiveMode = im_Abort
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
tab.name= Replace(tab.name ,"tc_eb","") '名称替换
next
'对子包进行递归,如果不使用递归只能取到第一个模型图内的表
dim subfolder
for each subfolder in folder.Packages
ProcessFolder subfolder
next
'msgbox "完成把comment为空的内容用name代替"
End Sub
3.批量修改字段默认值
'******************************************************************************
'* File: CommentVsName.vbs
'* Purpose: 批量修改字段默认值
'* Use: 打开PDM,运行本脚本(Ctrl+Shift+X)
'******************************************************************************
Option Explicit
ValidationMode = True
InteractiveMode = im_Abort
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
Dim col '定义列对象
for each col in tab.columns
col.defaultvalue = Replace(col.defaultvalue ,"1000-01-01 00:00:00","2000-00-00 00:00:00") '进行判断并赋值
next
end if
next
'对子包进行递归,如果不使用递归只能取到第一个模型图内的表
dim subfolder
for each subfolder in folder.Packages
ProcessFolder subfolder
next
'msgbox "批量修改字段默认值"
End Sub
4.
'******************************************************************************
'* File: CommentVsName.vbs
'* Purpose: 数据库反向生成pdm的情况 使用备注生成name
'* Use: 打开PDM,运行本脚本(Ctrl+Shift+X)
'******************************************************************************
Option Explicit
ValidationMode = True
InteractiveMode = im_Abort
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
if tab.comment <> "" then tab.name = tab.comment '进行判断并赋值
Dim col '定义列对象
Dim num '定义一个数字变量
num=0
for each col in tab.columns
num=num+1
if col.comment <> "" then col.name = col.comment & num '进行判断并赋值
next
end if
next
'对子包进行递归,如果不使用递归只能取到第一个模型图内的表
dim subfolder
for each subfolder in folder.Packages
ProcessFolder subfolder
next
'msgbox "数据库反向生成pdm的情况 使用备注生成name"
End Sub