Enterprise Architect基于行业标准Javascript,Microsoft JScript和VBScript实现了灵活且易于使用的脚本功能. Bellekens.com的所有者兼Sparx Systems合作伙伴的Geert Bellekens将展示自动化如何节省您的时间.
在此网络研讨会中,您将学习如何:
Example model: | EAExample.eap |
Enterprise Architect 12(Build 1213).
是.自Enterprise Architect 7.5,Corporate Edition或更高版本以来,Enterprise Architect的每个版本中都可以使用脚本.
有关有关自动化和脚本化
是.单击上面的链接下载脚本.
是.单击上面的链接下载脚本.
在整个网络研讨会中都使用了EAExample模型.该模型随Enterprise Architect的每个副本一起提供.
包括对自动化API的支持,以允许对其他框架和导出格式进行自定义扩展.
Sparx:是的.您必须编写一个可以由Windows作为计划任务运行的可执行文件.了解有关在Windows Server中运行计划的脚本
是.网络研讨会演示了如何将脚本应用于多个图表元素.
是.您可以使用!INC语句从其他脚本中包含并执行脚本.
否.
您可以使用安全性来允许或禁止使用工作流脚本,但不幸的是,该功能不适用于标准脚本.有关工作流程脚本的详细信息,请查看《 Enterprise Architect用户指南》.
否.
否.
但是,MDG Technologies可以包含脚本以防止用户修改.阅读《 Enterprise Architect用户指南》,以了解有关将脚本添加到MDG技术文件的更多信息.
最好使用某种版本控制系统在EA外部进行组织
当前没有与脚本的版本控制系统集成.任何版本控制都必须手动完成.
The网络研讨会中创建的脚本存储在模型中,并且仅在该模型中可用.您可以将其导出并导入到其他模型中,以便在那里使用,也可以在网络研讨会中显示.
在不同模型之间共享脚本的其他选项是通过将文件保存在适当的文件夹中来将它们存储为本地脚本:
< EA安装文件夹>\EA\Scripts
.
您也可以将脚本保存在MDG技术文件中并进行分发那样.
否.您可以测试脚本中的元素原型,并做出适当反应.
API ,请参见自动化和脚本| Enterprise Architect对象模型|参考
选择脚本语言是个人喜好的问题.
否.
否.
使用"上下文"脚本组,您可以将菜单限制为"元素","包","图"或"连接器".如果需要更多细粒度的控件,则可以可以考虑编写插件或使用由Geert Bellekens编写的 EA-Matic 第三方插件.
You \必须使用EA.Element.ParentID,EA.Element.PackageID和EA.Package.ParentID自下而上
像这样:
函数getQualifiedNameElement(element,fqn)
'将我的名字添加到fqn
fqn = element.name& " /" & fqn
'首先检查此元素是否嵌套在其他元素下
如果element.ParentID> 0,然后
将parentElement调暗为EA.Element
设置parentElement = Repository.GetElementByID(element.ParentID)
fqn = getQualifiedNameElement(parentElement,fqn)
其他
'没有父元素,因此我们转到包
将dimparentpackage设置为EA.Package
设置parentPackage = Repository.GetPackageByID(element.PackageID)
fqn = getQualifiedNamePackage(parentPackage,fqn)
如果
结束
'返回fqn
getQualifiedNameElement = fqn
最终功能
函数getQualifiedNamePackage(package,fqn)
'将我的名字添加到fqn
fqn = package.name& " /" & fqn
如果package.ParentID> 0,然后
将dimparentpackage设为EA.Package
设置parentPackage = Repository.GetPackageByID(package.ParentID)
fqn = getQualifiedNamePackage(parentPackage,fqn)
如果
结束
'返回fqn
getQualifiedNamePackage = fqn
最终功能
是.在Project Interface上,可以使用诸如ImportDirectory()和ImportFile()之类的操作进行逆向工程
是.有关报告的简单运行,请阅读RunReport .请注意,设置文件扩展名(.rtf或.pdf)将设置输出类型.在这种情况下,可以使用文档生成器类来执行特定的脚本化报告.
Project.RunReport(PackageGUID," Diagram Report"," C:\ Temp\MyDiagrams.pdf")
或使用Diagram.SaveAsPDF将每个单独的图导出到单独的PDF.
您可以在以下示例中找到
是
用例种类繁多.通常我们会看到类似的
您可以使用Repository.GetContextItemType()确定上下文中对象的类型.
《 Enterprise Architect用户指南》中的一个部分位于 项目和团队|团队开发|工作流程脚本 社区站点还包含有关工作流的全面白皮书Enterprise Architect中的脚本.
否.
Geert:是的,您可以使用Excel API在脚本中创建Excel文件.或者,您也可以采用其他方法来完成此操作,并在Excel中编写VBA脚本,然后在Excel中使用EA API.可以在 Bellekens.com 上免费获取将Excel元素导入EA的此类示例.
Sparx:Office的MDG集成旨在与Microsoft Office和Visio Suites集成.将文档和电子表格导入Enterprise Architect,提供丰富的建模体验.了解有关用于Microsoft Office的MDG集成界面-请参阅"工作流程白皮书"中的脚本和与Microsoft Project的界面
这是标准的VBScript语法检查对象是否已初始化.
本地脚本中有一个处理标记值的示例脚本.VBScript-元素额外示例