http://www.cnblogs.com/yelaiju/archive/2013/04/26/3044828.html
因为PDM 的表中 Name 会默认=Code 因此很不方便, 因此须要将 StereoType 显示到表的外面来html
打开[工具]->[显示属性](英文:Display Preferences) ->Content->Table->右边面板Columns框中 勾选: StereoType ,这样再在 StereoType中填入code字段相同内容就会显示在图形界面上了工具
使用说明: 在【Tools】-【Execute Commands】-【Edit/Run Script】 下。输入下面你要选择的语句便可,也能够保存起来,以便下次使用,后缀为.vbs。post
须要注意的问题是:运行语句时必须在Module模式下,若是是导出报表时执行会出现错误提示。spa
1.Name转到Comment注释字段。通常状况下只填写NAME,COMMENT能够运行语句自动生成。code
将该语句保存为name2comment.vbshtm
原地址的代码有一些格式上的错误,现已修正。 blog
'
把pd中那么name想自动添加到comment里面
'
若是comment为空,则填入name;若是不为空,则保留不变,这样能够避免已有的注释丢失.
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 comment for each table, each column and each view
'
of the current folder
Private
sub ProcessFolder(folder)
Dim Tab
'
running table
for
each Tab in folder.tables
if
not tab.isShortcut
then
if
trim(tab.comment)=
""
then
'
若是有表的注释,则不改变它.若是没有表注释.则把name添加到注释里面.
tab.comment = tab.name
end
if
Dim col
'
running column
for
each col in tab.columns
if
trim(col.comment)=
""
then
'
若是col的comment为空,则填入name,若是已有注释,则不添加;这样能够避免已有注释丢失.
col.comment= col.name
end
if
next
end
if
next
Dim view
'
running view
for
each view in folder.Views
if
not view.isShortcut
and
trim(view.comment)=
""
then
view.comment = view.name
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
2.将Comment内容保存到NAME中,comment2name.vbs 实习互换。语句为:
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
Private
sub ProcessFolder(folder)
On
Error
Resume
Next
Dim Tab
'
running table
for
each Tab in folder.tables
if
not tab.isShortcut
then
tab.name = tab.comment
Dim col
'
running column
for
each col in tab.columns
if col.comment=
""
then
else
col.name= col.comment
end
if
next
end
if
next
Dim view
'
running view
for
each view in folder.Views
if
not view.isShortcut
then
view.name = view.comment
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