借鉴了两位大神的文章,编写了自己小工具,以下是他们的文章
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