PowerDesigner中通过VBS脚本修改模型信息(转)

简介: PowerDesigner拥有强大的建模功能,同时,它也对脚本语言提供了支持。菜单Tools -> Execute Commands -> Edit/Run Script打开的窗口中,可以执行用户编写的VBS脚本,某些情况下,这可以节省大量的重复性工作,达到提高效率的目的。

PowerDesigner拥有强大的建模功能,同时,它也对脚本语言提供了支持。菜单Tools -> Execute Commands -> Edit/Run Script打开的窗口中,可以执行用户编写的VBS脚本,某些情况下,这可以节省大量的重复性工作,达到提高效率的目的。

近期三思遇到一例,某个历史工程在开发之初未应用PD类工作建模,后期维护人员也很多,对象创建混乱,通过PowerDesigner反向工程生成了pdm,但对象描述没有,这个东西如果逐个维护的话,工作量还是非常可观的~~

不过,查看表结构时发现对象的comments相对比较全面,因此后来通过VBS脚本,自动将备注信息写向表列的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.name = tab.comment '进行判断并赋值
          Dim col '定义列对象
          for each col in tab.columns
             if col.comment <> "" then col.name = col.comment '进行判断并赋值
          next
       end if
    next
   
    '对子包进行递归,如果不使用递归只能取到第一个模型图内的表
    dim subfolder
    for each subfolder in folder.Packages
       ProcessFolder subfolder
    next
 
End Sub

 

事实上,在PD安装目录下,拥有一个VB Scripts目录,其中包含PD自带的很多VBS脚本,极具参考性,感兴趣的同学不妨研究研究~~

目录
相关文章
|
17天前
|
关系型数据库 MySQL Shell
shell学习(十七) 【mysql脚本备份】
shell学习(十七) 【mysql脚本备份】
10 0
|
5月前
|
SQL 数据库
PowerDesigner导出SQL脚本运行注释出现乱码问题
PowerDesigner导出SQL脚本运行注释出现乱码问题
114 0
|
1月前
|
存储 Shell 编译器
【Shell 编程设计】设计一个批量修改目录中的文件名的shell脚本
【Shell 编程设计】设计一个批量修改目录中的文件名的shell脚本
18 0
|
4月前
|
Shell 5G
Shell脚本创建指定大小文件的测试数据
Shell脚本创建指定大小文件的测试数据
35 0
|
10月前
|
Windows
无法导入.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导...解决办法(非常实用)
无法导入.reg:指定的文件不是注册脚本。你在注册表编辑器中只能导...解决办法(非常实用)
|
监控 Shell
shell 评估文件/目录状态
shell 评估文件/目录状态
|
SQL 前端开发 关系型数据库
《懒人Shell脚本》之八——定期备份Mysql数据库表的实现
0.背景 实际开发环境中,前端程序需要在给定时间段内,将数据更新/插入到mysql指定的库表中。随着数据量的增多,基础库表基数的增长,每更新一次都会有5s左右的卡顿。
150 0
|
Shell Windows
VBS脚本代码(手工编写---在windows 7上调用系统对话框,来选择文件)
'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.
927 0
|
Shell Windows
VBS基础篇 - 杂项 - Sendkeys
VBS基础篇 - 杂项 - Sendkeys   模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行 其使用格式为:object.SendKeys(string) object:表示WshShell对象  string:表示要发送的按键指令字符串,需要放在英文双引号中 基本键 每个按键由一个或多个字符表示。
1339 0