1.说明

PowerDesigner支持自定义一些命令与操作,
通过编写VBS(Visual Basic Script)脚本,
可以扩展出更多的功能。
下面开发一个自定义的VBS脚本,
实现复制Name到Comment的功能,
即表的名称复制到注释中,
字段的名称复制到注释中,
这样在设计完表之后,
就不用一个一个复制名称到注释中了。

2.运行脚本

菜单:
Tools -> Execute Commands -> Edit/Run Script
快捷键:
Ctrl+Shift+X
打开运行脚本的界面
然后选择需要执行的VBS脚本,
点击Run即可运行:

3.编写脚本

可以使用PowerDesigner内置的编辑器,
也可以使用Notepad++编辑器,
新建名称为CDM_Name2Comment.vbs的文件:

Option   Explicit
ValidationMode = True
InteractiveMode = im_Batch
' 当前模型的变量
Dim   mdl' 获取当前活动的模型
Set   mdl = ActiveModel
If   (mdl   Is   Nothing)   ThenMsgBox   "没有选择数据模型,请打开一个模型再执行脚本"
ElseIf   Not   mdl.IsKindOf(PdCDM.cls_Model)   ThenMsgBox   "当前选择的不是一个概念数据模型(CDM) "
ElseProcessFolder   mdl
End If' 轮询当前模型下的所有实体表entity,将表和字段的名称Name复制给注释Comment
Private   Sub   ProcessFolder(folder)Dim   entityFor   Each   entity   In   folder.entitiesIf   Not   entity.isShortcut Then'如果表没有注释,则把name复制给commentIf  Trim(entity.comment) = "" Thenentity.comment = entity.nameEnd IfDim   attributeFor   Each   attribute   In   entity.attributes'如果字段没有注释,则把name复制给comment                  If Trim(attribute.comment) = "" Thenattribute.comment = attribute.nameEnd IfNextEnd IfNext'递归处理子包中的表,否则只能取到第一个模型图内的表Dim   fFor   Each   f   In   folder.PackagesIf   Not   f.IsShortcut   ThenProcessFolder   fEnd IfNext
End Sub

4.运行结果

脚本运行后,
可以发现表和字段的Comment和Name一样了:

注意要打开一个概念数据模型(CDM),
该脚本会操作当前模型下的所有表和字段。

5.复制Comment到Name

上面脚本实现复制Name到Comment的功能,
如果要实现复制Comment到Name的功能,
修改脚本以下关键语句:

entity.comment = entity.name
attribute.comment = attribute.name

修改为:

entity.name = entity.comment
attribute.name = attribute.comment

6.支持物理数据模型PDM

上面脚本只支持操作概念数据模型CDM,
如果要支持操作物理数据模型PDM,
修改脚本以下关键语句:

ElseIf   Not   mdl.IsKindOf(PdCDM.cls_Model)   Then
For   Each   entity   In   folder.entities
For   Each   attribute   In   entity.attributes

修改为:

ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then
For   Each   table   In   folder.tables
For   Each   column   In   table.column

7.预置脚本

在PowerDesigner安装目录下的VB Scripts目录,
预置了很多VBS脚本,
可以直接拿来使用,
也可以作为开发自定义脚本的参考:

AccessRTFDescription.vbs
BPM-Activity.vbs
BPM-CDM.vbs
BuildModelDependencies.vbs
CheckModel.vbs
code2name.vbs
Command Execution.vbs
CommunicationToSequence.vbs
Convert_class_to_interface.vbs
Create OOM.vbs
Create_ProjectCDM.vbs
CreatePersistentSelection.vbs
CreateViews.vbs
Delete Private attributes.vbs
Export_model_To_Excel.vbs
FromDirectoryToModel.vbs
FromDirectoryToRepository.vbs
FromDirectoryToWorkspace.vbs
FromRepositoryToDirectory.vbs
GenerateDatabase.vbs
GenerateDatabaseUsingSelections.vbs
GenerateDBWithSetting.vbs
Interactive Mode.vbs
List Classes.vbs
List Classifiers.vbs
List Metamodel Resources.vbs
List Processes.vbs
List Tables.vbs
ManipulatingObjects.vbs
MeasurePDMComplexity.vbs
MetaModelBrowse.vbs
name2code.vbs
Norm_ClassModel.vbs
ODBCConnect.vbs
prefix.vbs
read_models.vbs
ReadFile.vbs
ReverseEngineerDatabase.vbs
ReverseEngineerSQLScript.vbs
SequenceToCollaboration.vbs
VBSreadme.txt
WorkspaceBrowse.vbs
WriteFile.vbs

8.帮助文档

在运行脚本页面,
可以打开两个帮助文档:

上面的?点击后,
打开元数据模型帮助文档:
Sybase PowerDesigner Metamodel Objects help.

下面的Help点击后,
打开PowerDesigner自带的帮助文档,
并且跳转到VBS脚本相关章节:

9.参考

PowerDesigner中常用的脚本PowerDesigner为表字段添加Comment注释,让name等于Comment


http://www.taodudu.cc/news/show-1250941.html

相关文章:

  • BitMap-BitSet(JDK1.8)基本使用入门
  • IDEA查看Java类的UML关系图
  • 30. 包含min函数的栈
  • 35. 复杂链表的复制
  • 58 - II. 左旋转字符串
  • 03. 数组中重复的数字
  • 53 - II. 0~n-1中缺失的数字
  • 04. 二维数组中的查找
  • 11. 旋转数组的最小数字
  • 50. 第一个只出现一次的字符
  • 32 - I. 从上到下打印二叉树
  • 32 - II. 从上到下打印二叉树 II
  • 32 - III. 从上到下打印二叉树 III
  • 26. 树的子结构
  • PostgreSQL数据库密码
  • SpringBoot中使用Hibernate Validator校验工具类
  • 28. 对称的二叉树
  • 解决tomcat的undeploy
  • 解决eclipse出现The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path
  • 下载安装neo4j
  • vue-drag-resize实线页面的拖拽与缩放
  • 解决IDEA不能编译XML文件
  • 播放视频和音频文件java
  • 实时获取屏幕大小
  • vue部分样式无法修改
  • vue中根据搜索内容跳转到页面指定位置
  • Duplicate entry ‘‘ for key ‘***‘
  • transferto遇到的问题java.io.FileNotFoundException: C:\Users\Administrator\AppData\Local\Temp
  • Spring的jar包下载
  • *** is required and cannot be removed from the server

PowerDesigner运行自定义VBS脚本,复制Name到Comment相关推荐

  1. 自定义vbs脚本开机启动程序

    概述 系统开机时,顺带自动启动了不少驱动程序,使得电脑开机后鼠标要呆滞许久.为了加快windows的开机速度,在参考网上不少大牛的资料后,整理出使用vbs脚本利实现开机后延时启动程序的方法 vbs内容 ...

  2. 终止正在运行的VBS脚本

    ■前言 我们一般使用VBS自动化某些人工重复的操作. 当代码有问题,想停止操作时, 自动化脚本一直在跑,停止比较困难. ■解决 提前写一bat,里面写上如下内容 taskkill /f /im wsc ...

  3. vbs获取群聊当前内容_通过VBS脚本批量检测服务器状态 - 易本地工作室-Ebend SoftwareNetwork Studio - 群发,采集,管理类软件定制开发服务【易本地工作室】...

    脚本名称:通过VBS脚本批量检测服务器状态 脚本语言:VBS 原创作者:易本地工作室 艾云超 官方网站:易本地工作室 授权状态:免费 功能说明:通过VBS脚本批量检测服务器状态,是否可以访问,可以自定 ...

  4. WMI服务故障,VBS脚本无法运行错误

    WMI服务故障,VBS脚本无法运行错误报"0x80041002 代码80041002"错误 ---------------------------------- 脚本: C:\WI ...

  5. VMware Tools 启动脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义启动脚本,请确保该脚本没有错误。您也可以提交支持请求,报告此问题。

    VMware Tools 启动脚本未能在虚拟机中成功运行.如果您在此虚拟机中配置了自定义启动脚本,请确保该脚本没有错误.您也可以提交支持请求,报告此问题. 第一步: sudo apt-get auto ...

  6. 转:获取脚本运行路径的VBS脚本

    有一篇蛮不错的文章,收录如此,供参考! -------------------------------------------------------------------------------- ...

  7. 批量删除PPT第一页最后页——VBS脚本,在office宏中运行即可

    批量删除PPT第一页最后页--VBS脚本,在office宏中运行即可 Sub 批量删除第一页最后页() Dim ChangedCount As Integer Dim FileName As Stri ...

  8. windows下运行vbs脚本

    windows下运行vbs脚本 vbs基础教程 简单的代码(此代码来自脚本之家,如果侵犯了您的权利请与本人联系) REM 输入并回显你的名字 '使用InputBox和Msgbox函数 '(上面及本行可 ...

  9. Windows10运行vbs脚本报未结束的字符串常量错误

    目录 报错 用记事本写vbs脚本,保存为UTF-8格式,运行时报错 报错内容为:未结束的字符串常量 解决方法 报错原因 ANSI UTF-8 原因 报错 用记事本写vbs脚本,保存为UTF-8格式,运 ...

最新文章

  1. 如何高效地爬取链家的房源信息(一)
  2. 吴恩达邀请9位AI大牛畅想2020:李开复看好医疗教育,LeCun强调自监督学习
  3. 【笨木头Lua专栏】基础补充08:协同程序之resume-yield间的数据返回
  4. kali高速更新源以及主题修改方法
  5. redis cluster 设置密码做集群时gem下client.rb文件修改
  6. SAP转储订单(STO)
  7. tf.placeholder在测试时带来的坑
  8. [游戏服务器]第一章:多人聊天室-服务端
  9. brew 一直等待_等待高高时,可以做的小事...
  10. 利用NABCD模型进行竞争性需求分析
  11. 《《《总结》》》PCL的42个实例整理:1~24
  12. java泛型中T和?和有什么区别
  13. win 如何生成ssh密钥
  14. 阿里云LOGO在线设计入口说明
  15. 网线百兆与千兆的接法
  16. 51单片机定时器 TMOD、TCON设置_codestorm_新浪博客
  17. 室内定位技术方案---Wifi、RFID、bluetooth、Zigbee
  18. Android使用libjpeg实现图片压缩
  19. linux dns chroot,chroot环境下dns解析不好用
  20. 七牛云 vue 图片上传简单解说,js 上传文件图片

热门文章

  1. 子元素div高度不确定时父div高度如何自适应
  2. gridview合并单元格
  3. JavaScript 电话手机号码正则表达式
  4. Speed Up YUM!
  5. [HTTP] Nginx代理以及面向未来的HTTP
  6. Python_类的特殊成员方法
  7. 用css3和html实现创建 Christmas Tree Ornaments(baubles)
  8. 矩阵特征值的物理意义
  9. 交互系统的构建之(二)Linux下鼠标和键盘的模拟控制
  10. 7-201 列出连通集 (25 分)