VBA操作word生成sql语句
生活随笔
收集整理的这篇文章主要介绍了
VBA操作word生成sql语句
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
项目开始一般都是用word保存下数据库的文档
但是从表单一个一个的建表实在是很困难乏味,查查资料
1、可以生成一个html或者xml,检索结构生成sql。但是这个方式也蛮麻烦
2、查到vba可以操作word读取表格。所以采用这种方式写了一个小程序。这样就可以直接生成sql了,在这里做个记录。
代码很初级,意见欢迎,勿喷。
Public Sub test()'Word对象定义Dim objWord As New Word.ApplicationDim objWordNew As New Word.Application'Doc对象定义Dim objDoc As Word.DocumentDim 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.TableDim tempStrtempStr = ""'读取指定文件中的表1至Table对象'Set objTable = objDoc.Tables(2)For a = 1 To objDoc.Tables.CountSet objTable = objDoc.Tables(a)tempStr = tempStr + "CREATE TABLE ("tempStr = tempStr + Chr(10)For i = 2 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, 2).Range.Text, Chr(10), ""), Chr(13), "") + "' " + Replace(Replace(objTable.Cell(i, 4).Range.Text, Chr(10), ""), Chr(13), "") + " COMMENT '" + Replace(Replace(objTable.Cell(i, 3).Range.Text, Chr(10), ""), Chr(13), "") + Replace(Replace(objTable.Cell(i, 6).Range.Text, Chr(10), ""), Chr(13), "") + "'"'tempStr = Replace(tempStr, Chr(10), "")'tempStr = Replace(tempStr, Chr(13), "")tempStr = tempStr + Chr(10)NexttempStr = tempStr + ")ENGINE=MyISAM DEFAULT CHARSET=utf8;"tempStr = tempStr + Chr(10)tempStr = tempStr + Chr(10)NextobjDocNew.Range.Text = tempStr'关闭Doc对象 objDoc.CloseobjDocNew.Close'关闭Word对象 objWord.QuitobjWordNew.Quit'清除Table对象Set objTable = Nothing'清除Doc对象Set objDoc = Nothing'清除Word对象Set objWord = Nothing End Sub
中间有一些替换回车换行符的,也有添加的,为了生成理想的格式,拼接字符串。
转载于:https://www.cnblogs.com/PPBoy/p/7158716.html
总结
以上是生活随笔为你收集整理的VBA操作word生成sql语句的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: iOS 14 beta 7 新改进:调整
- 下一篇: [SoapUI] How to crea