最近因工作需要,要将一个WORD中使用表格描述的一些表导入到PowerDesigner(此后简称PD)的一个PDM中,但仔细研究PD的各个菜单项,并没有找到一个导入的方案,上网一顿Google似乎也找到合适的方案。难道真的只能一个一个字段的复制过去?God!看到那200多个字段就头晕……没办法了,只好自己动手丰衣足食。
(如果有朋友知道有捷径,麻烦告知一声,在下不胜感激。)
通过一番研究,发现PD提供了VBScript脚本语言的支持,通过这个脚本语言,即可方便的对PD中各种对象进行操作。
如果碰巧您也在用PD12,可以在其目录下找到pdvbs12.chm(其他版本应该类似),这个文档详细描述了PD提供的所有对象。
当然,在看这份文档之前,我们最好先懂点VBScript。什么?还不懂VBScript?这个不是问题,网上资料一大把,随便搜索下找到教程,应该很快就能对其明白个一二。
当然,虽然这些资料告诉了我们一切,但我们目前并不需要这么多的内容,咱们还是快切入主题吧。
我们的目的是创建表,但表是建在什么地方呢?很显然PD告诉了我们答案,在Model中。嗯,所以我们首先需要拿到Model对象,只要拿到了它,我们就可以为所欲为了。
Dim mdl
Set mdl = ActiveModel
通过这两句简单至极的代码,就拿到了当前活动(即选中)的Model对象引用。接下来,我们将调用它的方法来创建表。
Dim table
Set table=mdl.Tables.CreateNew
我相信大家都是高手,这样一句代码,只需一瞥就能明白是什么意思。嗯?不是高手?那就翻翻资料吧,毕竟讲语法等基础并不是本文的重点(实在是区区在下的VBScript只学过两天,班门弄斧难免会闹笑话,还请见谅……)。
现在表是创建了,但总觉得少了点什么……哦,对了,名字还没有呢— —,快给它起个名字吧。但名字怎么取呢?翻API?还是先发挥一下瞎摸索的大无畏精神,先给它的name属性赋个值试试看。
Table.name=”HELLO_WORLD”
还真瞎猫碰上死耗子,给撞上了。什么?你问我是怎么知道的?这还用问吗?你打开Model中任意一个表的属性框,是不是看到了一个标签为Name的输入框?
接下来依葫芦画瓢,把Code,Comment等属性也加上。
嗯,现在看起来我们的表已经初具规模了,再给它加上些字段,它就是一张真正的表了。
Dim column
set column =table.Columns.CreateNew
我们利用table对象自身的功能创建了一个字段,上面的套路依旧管用,打开列的属性面板,找到中意的属性,赋给它值吧。
其实说了这么多,也只是九牛一毛而已,PD提供了很多类给我使用,它能操作PD世界中的一切(也许),你只要翻开pdvbs12.chm这个文档,即可发现这个宝库。
当然如果你的目的和我一样,只是为了建表和字段,那么上面说的东西和方法也就够用了。
有一些面板上不可见的属性或方法我们还是得查查文档,比方说设置主键:
column.Primary=true
你要是只对着面板“格”,那绝对是“格”不出个什么花来。所以我们还是老老实实的打开帮助文档,点到索引选项,输入Column这个关键字,它就会迅速的带我们来到Column类的世界,这里有它的一切,包括它的长了几只脚,它爸爸长了几只脚,它爸爸的爸爸……额,反正我们知道这里有它的一切就对了。
嗯,知道了怎么操纵PD,接下来我们应该解决最重要的问题了。到底要怎么样才能导入WORD中的那个表格?
这确实是个问题。如果单靠VBScript来解决这个问题,可能我今天就没法在这里闲扯了,肯定得埋头在无数资料之中,当然,我想到了一个曲线救国的方法,那就是:
先把WORD中的表格拷到Excel里,再用Java解析Excel生成一个文本文档,最后,才用VBScript读入文本,解析文本,创建模型。
这个解题思路充分的体现了数学解题思路的精华,当然,它不是个好办法,但却能解解当务之急,如果您有了更好的实现,希望也能给我一份。
最后附上我那乱七八糟的程序,如果您的忍耐力比较好的话,我建议您看看。
- p.rar (878.6 KB)
- 下载次数: 51
分享到:
相关推荐
这涉及到对PDM系统的API或接口的理解和利用,以及对Excel数据结构的解析。 ### 数据模型与表格映射 脚本中通过`mdl.Tables.CreateNew`和`table.Columns.CreateNew`方法来创建新的表和列,表明了数据模型的概念。...
综上所述,这个压缩包提供了一套完整的解决方案,用于使用PowerDesigner和VB脚本来高效地管理PDM模型的导入和导出,同时利用Excel作为数据交换的媒介,增强了模型的可读性和共享性。对于需要处理大量数据库模型信息...
一个常见的做法是利用PowerDesigner的API或者通过解析PDM文件的XML内容来提取所需信息,然后利用编程语言(如C#,因为".sln"和".suo"是Visual Studio的项目文件)将这些信息格式化并输出到Excel文件。 5. **CSV格式...
7. **脚本执行**:最后,运行`excel2pdm.vbs`脚本,它会自动执行上述步骤,将Excel中的数据导入到PDM系统中。 需要注意的是,每个PDM系统的API和使用方式都有所不同,因此具体实现会因PDM软件而异。在实际操作中,...
6. 创建PDM:一旦连接成功,你可以开始从现有的MySQL数据库反向工程出PDM。选择“Reverse Engineer”(反向工程),在弹出的窗口中选择刚刚创建的MySQL连接,然后指定要反向工程的数据库和表。 7. 生成PDM:在反向...
同时,调试自定义插件是确保代码正确运行的关键步骤,开发者需要熟悉Visual Studio等工具的调试功能,以及如何利用PDM的日志和调试器进行问题排查。 在学习这些知识点时,你需要掌握C#编程基础,理解.NET Framework...
在IT行业中,PDM(Product Data Management,产品数据管理)是一种用于管理与产品相关的所有信息和过程的技术。...通过这个过程,可以有效管理和利用PDM文件中的产品数据,提高产品开发效率和数据质量。
库的管理是SolidWorks PDM管理中的重要部分,包括库的生成、分发、本地库视图的创建等。管理员需要了解如何使用ActiveDirectory来分发库视图,以及在广域网(WAN)环境下如何分发库视图。此外,管理员还需要学会如何...
4. **保存和导出**:完成模型设计后,记得保存PDM文件,并根据需要导出为其他格式,如SQL脚本,以便在实际数据库中应用。 批量转换Excel文件到PDM的过程,可以帮助你快速、高效地创建和管理数据库模型。通过熟练...
用户可以通过它了解如何创建PDM,如何管理对象,如何进行数据流设计,以及如何优化模型性能等。深入阅读可以帮助你快速上手PowerDesigner的PDM功能。 **4. www.pudn.com.txt** 这可能是一个链接或者来源说明文件,...
4. 自动化处理:利用编程语言(如Python、Java等)或脚本自动化执行上述步骤,提高效率。 5. 输出生成:最后生成Word文档,可以是单个文件,也可以是多个文件,如每个产品部件对应一个独立的文档。 标签“源码”...
通过以上步骤,我们可以利用PowerDesigner的PDM功能实现数据库的设计和维护。在实际项目中,这能提高开发效率,保证数据库设计的质量,同时使得团队成员能够更好地理解和协作。记住,好的数据库设计是系统稳定运行的...
### PowerDesigner逆向工程生成PDM模型及...无论是通过ODBC数据源直接连接数据库,还是利用SQL脚本间接生成PDM,都体现了PowerDesigner在数据建模领域的强大功能和灵活性,是现代数据库设计和管理不可或缺的利器。
在将PDM导出为Word或HTML后,开发人员和DBA可以更方便地根据这些文档编写SQL脚本,创建实际的数据库表和索引。 至于压缩包子文件"wordTemplate%281%29.rtp",它可能是一个模板文件,用于指导PowerDesigner如何格式...
6. 数据库脚本生成:设计完成后,PowerDesigner可以自动生成创建数据库的SQL脚本,便于在实际数据库中实施。这一步骤在合同管理系统实施过程中尤为关键,因为正确的数据库结构是系统正常运行的基础。 7. 数据库性能...
利用脚本生成模型 如果除了正在使用的数据库之外,还拥有创建数据库的脚本文件,则可以使用这些脚本来生成更完整的PDM。这种方式可以避免逆向工程的一些缺点,如丢失注释信息或外键关系等问题。 - 创建一个包含...
- 生成过程完成后,可以通过 `Database` > `Run` 执行 SQL 脚本来创建数据库。 #### 四、从物理数据库生成 PDM 图 除了正向工程之外,PowerDesigner 还支持从现有的数据库反向生成 PDM 图。 - **步骤**: - 在 ...
- 选择“PDM”选项卡创建一个PDM文件。 - 在“Database”菜单中选择“Reverse Engineer Database”选项。 - 在弹出的对话框中,选择“Using an ODBC data source”并选择之前配置好的ODBC数据源(例如PDMTest)。...
具体实现过程中,开发过程分为三个步骤:首先,无格式定制要求下,利用PDM基础数据生成最简单的明细表。其次,通过设计一个脚本,使用明细表格式脚本来定制明细表格式,并生成明细表。最后,通过直接在图纸中拾取...