毕业设计同学们的福利(将word表格导入PowerDesigner中实现快速创建PDM)



借鉴了两位大神的文章,编写了自己小工具,以下是他们的文章

1、http://www.cnblogs.com/pc-funning/archive/2009/01/21/1379537.html

2、http://yjgoo.iteye.com/blog/296211


  下面是我修改的代码:

Option Explicit

'-----------------------------------------------------------------------------
' 魔尊年少时制作 http://pc-funning.cnblogs.com/
' 随便修改增强,希望能做记录,做注释,保留出处
' 2009-1-21最后整理
' 2012-4-12 整理
'-----------------------------------------------------------------------------
Dim system, file
Set system = CreateObject("Scripting.FileSystemObject") '创建文件对象


Dim ForReading, ForWriting, ForAppending
dim str '表字段
dim tittle '表的名字
dim first
ForReading   = 1 ' 设置文件只读 
ForWriting   = 2 ' 设置文件写入
ForAppending = 8 ' 设置文件追加

'-----------------------------------------------------------------------------
' 主要程序
'-----------------------------------------------------------------------------

Set file = system.OpenTextFile("D:\table.txt", ForReading)'打开文本文档
Dim noLine
Dim Tab  '定义一个表,vbscript中变量没有那么严格的类型,但此变量将来将用来表示table
ValidationMode = True
Dim mdl ' 定义当前激活的模型,也就是mdl
Dim Col '定义列
dim dm, dmstr '定义
Dim SSS '定义截取字符串的标准
Dim isNewTable '定义是否是新表
Dim i '记录下第几行,0代表第一行


Set mdl = ActiveModel '获取当前激活模型

'-----------------------------------------------------------------------------
' 建表操作
'-----------------------------------------------------------------------------
set Tab = mdl.Tables.CreateNew
isNewTable = True

first=file.readline '读文档按行读
tittle=split(first) '以空格分隔划分入数组,获取的是表的属性,可以获取更多属性,根据实际情况而定
tab.name=tittle(0) 'name
tab.code=tittle(1) 'code
tab.comment=tittle(2) 'comment

'-----------------------------------------------------------------------------
' 向表里的字段赋值操作
'-----------------------------------------------------------------------------
Do While file.AtEndOfStream <> True '循环读取文档的每一行
 '获得每个字段的数据
   SSS = file.ReadLine
   str=split(SSS)
   
  '判断是不是新表
   if isNewTable = true then
     if SSS <> "" then '如果获取的是字符串,则不见新表
       isNewTable = False
       
     end if
   elseif SSS = "" then '如果获取的是空格,
     set Tab = mdl.Tables.CreateNew  '创建新表,这是读到空行时的表现,自己用来警示,所以txt文档中的表与字段之间不要有空行
     
   else  
     set Col=tab.Columns.CreateNew '创建一行字段 (若不成功,默认创建7行字段)
     
    '依次设置属性,同表的属性,字段熟悉也可以设置更多,根据实际情况
     Col.name = str(0) '字段名称
     Col.Code= str(1) '字段说明
     Col.datatype=str(2) '字段类型
'-----------------------------------------------------------------------------
' 当是第一行的时候设为主键,自己写的,i到后面可以添加外键和精度使用
'-----------------------------------------------------------------------------
    'Col.precision=str(1) '字段精度
     if i=0 then 
     Col.primary=true'设置主键
     end if
     i=i+1
     
   end if 
 
   
    
Loop 
file.Close





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值