借鉴了两位大神的文章,编写了自己小工具,以下是他们的文章
1、http://www.cnblogs.com/pc-funning/archive/2009/01/21/1379537.html
2、http://yjgoo.iteye.com/blog/296211
下面是我修改的代码:
1 Option Explicit 2 3 '----------------------------------------------------------------------------- 4 ' 魔尊年少时制作 http://pc-funning.cnblogs.com/ 5 ' 随便修改增强,希望能做记录,做注释,保留出处 6 ' 2009-1-21最后整理 7 ' 2012-4-12 整理 8 '----------------------------------------------------------------------------- 9 Dim system, file 10 Set system = CreateObject("Scripting.FileSystemObject") '创建文件对象 11 12 13 Dim ForReading, ForWriting, ForAppending 14 dim str '表字段 15 dim tittle '表的名字 16 dim first 17 ForReading = 1 ' 设置文件只读 18 ForWriting = 2 ' 设置文件写入 19 ForAppending = 8 ' 设置文件追加 20 21 '----------------------------------------------------------------------------- 22 ' 主要程序 23 '----------------------------------------------------------------------------- 24 25 Set file = system.OpenTextFile("D:\table.txt", ForReading)'打开文本文档 26 Dim noLine 27 Dim Tab '定义一个表,vbscript中变量没有那么严格的类型,但此变量将来将用来表示table 28 ValidationMode = True 29 Dim mdl ' 定义当前激活的模型,也就是mdl 30 Dim Col '定义列 31 dim dm, dmstr '定义 32 Dim SSS '定义截取字符串的标准 33 Dim isNewTable '定义是否是新表 34 Dim i '记录下第几行,0代表第一行 35 36 37 Set mdl = ActiveModel '获取当前激活模型 38 39 '----------------------------------------------------------------------------- 40 ' 建表操作 41 '----------------------------------------------------------------------------- 42 set Tab = mdl.Tables.CreateNew 43 isNewTable = True 44 45 first=file.readline '读文档按行读 46 tittle=split(first) '以空格分隔划分入数组,获取的是表的属性,可以获取更多属性,根据实际情况而定 47 tab.name=tittle(0) 'name 48 tab.code=tittle(1) 'code 49 tab.comment=tittle(2) 'comment 50 51 '----------------------------------------------------------------------------- 52 ' 向表里的字段赋值操作 53 '----------------------------------------------------------------------------- 54 Do While file.AtEndOfStream <> True '循环读取文档的每一行 55 '获得每个字段的数据 56 SSS = file.ReadLine 57 str=split(SSS) 58 59 '判断是不是新表 60 if isNewTable = true then 61 if SSS <> "" then '如果获取的是字符串,则不见新表 62 isNewTable = False 63 64 end if 65 elseif SSS = "" then '如果获取的是空格, 66 set Tab = mdl.Tables.CreateNew '创建新表,这是读到空行时的表现,自己用来警示,所以txt文档中的表与字段之间不要有空行 67 68 else 69 set Col=tab.Columns.CreateNew '创建一行字段 (若不成功,默认创建7行字段) 70 71 '依次设置属性,同表的属性,字段熟悉也可以设置更多,根据实际情况 72 Col.name = str(0) '字段名称 73 Col.Code= str(1) '字段说明 74 Col.datatype=str(2) '字段类型 75 '----------------------------------------------------------------------------- 76 ' 当是第一行的时候设为主键,自己写的,i到后面可以添加外键和精度使用 77 '----------------------------------------------------------------------------- 78 'Col.precision=str(1) '字段精度 79 if i=0 then 80 Col.primary=true'设置主键 81 end if 82 i=i+1 83 84 end if 85 86 87 88 Loop 89 file.Close