项目开始一般都是用word保存下数据库的文档

但是从表单一个一个的建表实在是很困难乏味,查查资料

1、可以生成一个html或者xml,检索结构生成sql。但是这个方式也蛮麻烦

2、查到vba可以操作word读取表格。所以采用这种方式写了一个小程序。这样就可以直接生成sql了,在这里做个记录。

代码很初级,意见欢迎,勿喷。

Public Sub test()
'Word对象定义
Dim objWord As New Word.Application
Dim objWordNew As New Word.Application 'Doc对象定义
Dim objDoc As Word.Document
Dim objDocNew As Word.Document '读取指定文件至Doc对象
Set objDoc = objWord.Documents.Open("D:\新建 Microsoft Word 文档.docx")
Set objDocNew = objWordNew.Documents.Open("D:\sql.docx") 'Table对象定义
Dim objTable As Word.Table
Dim tempStr
tempStr = "" '读取指定文件中的表1至Table对象
'Set objTable = objDoc.Tables(2)
For a = To objDoc.Tables.Count
Set objTable = objDoc.Tables(a)
tempStr = tempStr + "CREATE TABLE ("
tempStr = tempStr + Chr()
For i = To objTable.Rows.Count 'tempStr = tempStr + "'" + Application.WorksheetFunction.Clean(objTable.Cell(i, 2).Range.Text) + "' " + objTable.Cell(i, 4).Range.Text + " COMMENT '" + objTable.Cell(i, 2).Range.Text + objTable.Cell(i, 6).Range.Text + "'"
tempStr = tempStr + "'" + Replace(Replace(objTable.Cell(i, ).Range.Text, Chr(), ""), Chr(), "") + "' " + Replace(Replace(objTable.Cell(i, ).Range.Text, Chr(), ""), Chr(), "") + " COMMENT '" + Replace(Replace(objTable.Cell(i, ).Range.Text, Chr(), ""), Chr(), "") + Replace(Replace(objTable.Cell(i, ).Range.Text, Chr(), ""), Chr(), "") + "'" 'tempStr = Replace(tempStr, Chr(10), "")
'tempStr = Replace(tempStr, Chr(13), "")
tempStr = tempStr + Chr()
Next
tempStr = tempStr + ")ENGINE=MyISAM DEFAULT CHARSET=utf8;"
tempStr = tempStr + Chr()
tempStr = tempStr + Chr()
Next objDocNew.Range.Text = tempStr
'关闭Doc对象
objDoc.Close
objDocNew.Close '关闭Word对象
objWord.Quit
objWordNew.Quit '清除Table对象
Set objTable = Nothing
'清除Doc对象
Set objDoc = Nothing
'清除Word对象
Set objWord = Nothing
End Sub

中间有一些替换回车换行符的,也有添加的,为了生成理想的格式,拼接字符串。

VBA操作word生成sql语句的更多相关文章

  1. Excel VBA 操作 Word(入门篇)

    原文地址 本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人.   一.新建Word引用 需要首先创建一个对 Word A ...

  2. Python3:sqlalchemy对sybase数据库操作,非sql语句

    Python3:sqlalchemy对sybase数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- c ...

  3. Python3:sqlalchemy对mysql数据库操作,非sql语句

    Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- co ...

  4. 如何根据实体动态生成sql语句

    该文章同时解决了,如何向数据库中添加Null值,以及如何处理“参数化查询未提供参数”的错误.解决方案请看第二段折叠的代码. 背景: 在项目开发的过程中,往往需要根据实体的值来修改sql语句,比如说,有 ...

  5. 总结一些关于操作数据库是sql语句还是存储过程问题

    总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...

  6. Aspose.Words操作word生成PDF文档

    Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...

  7. 利用反射自动生成SQL语句(仿Linq)

    转:http://www.cnblogs.com/the7stroke/archive/2012/04/22/2465597.html using System; using System.Colle ...

  8. Excel数据生成Sql语句的方法

    选中想要生成的列,套用表格格式,选中表包含标题的选项确定,然后在最右边的一列第二行处,点击函数功能,选择CONCATENATE,在文本里输入想要的结构即可  代码如下 复制代码 ,=CONCATENA ...

  9. 利用反射生成SQL语句

    // 修改学员信息的方法 public bool ModifyStudent(MODEL.Students model) { // 利用反映获取类对所有属性,用来动态生成SQL语句 StringBui ...

随机推荐

  1. Linux 在文档中查找满足条件的行并输出到文件:

    Linux 在文档中查找满足条件的行并输出到文件: 文件名称: dlog.log    输出文件: out.log 1.满足一个条件(包含  “TJ”  )的语句: grep  “TJ”  dlog. ...

  2. 【转】手动释放linux os buff/cache

    手动释放linux内存cache和脚本定时释放 标签: linuxcache脚本bufferwindows磁盘 2011-12-04 08:44 12799人阅读 评论(2) 收藏 举报  分类: l ...

  3. 2019.02.06 bzoj2987: Earthquake(类欧几里得)

    传送门 题意简述:求满足ax+by+c≤0ax+by+c\le0ax+by+c≤0的二元组(x,y)(x,y)(x,y)对数. 思路: 类欧几里得算法模板题. 把式子变化一下变成:求满足0≤y≤−ax ...

  4. 2018.12.18 bzoj5296: [Cqoi2018]破解D-H协议(bsgs)

    传送门 bsgsbsgsbsgs基础题. 考虑到给的是原根,因此没无解的情况. 于是只需要每次把a,ba,ba,b解出来. 然后可以通过预处理节省一部分时间. 代码: #include<bits ...

  5. flask中flash不显示

    需要在html文件中body中加入下列语句 <div class='container'> <div class="row"> {% with messag ...

  6. Win7 VS2013环境cuda_7.5.18的一些坑

    thrust库的sort算法,在x86平台使用就崩溃,x64就没问题,搜了下好像是很早的版本,4开始就有这样的问题了,原因不明. http://stackoverflow.com/questions/ ...

  7. jq 某个时间段的倒计时

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. application.properties /application.yml官网查看配置;springboot application.properties 官网查看,info yml 查看;springboot.yml查看info;springboot.yml查看Actuator监控中心info

    官网查看: https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#appendix 查看info ...

  9. 配置React的Babel 6和Webpack 2环境

    Facebook的一帮子工程师在忙碌之余开发除了一套前段UI框架React.这个框架最大的有点就在于让UI的开发都基于组件,这样View都是根据props和state变化的. 项目地址:https:/ ...

  10. hdu 5054

    http://acm.hdu.edu.cn/showproblem.php?pid=5054 确定是否矩形中点 这都能hack成功,无语 #include <cstdio> #includ ...