文档详情

vb操作word.doc

发布:2017-08-18约1.25万字共17页下载文档
文本预览下载声明
vb操作word Private Sub Command1_Click() Dim appword As Object Dim worddoc Set appword = CreateObject(word.application) Set worddoc = appword.documents.Add(d:\doc1.dot, False, 0) appword.Visible = True Dim i As Integer Debug.Print ----------------------- i = 1 For i = 1 To worddoc.Shapes.Count If worddoc.Shapes(i).Type = 17 Then If InStr(worddoc.Shapes(i).TextFrame.TextRange.Text, $add$) 0 Then worddoc.Shapes(i).TextFrame.TextRange.Text = Text1.Text 赋给各个文本框的值 End If End If Next i End Sub 多人都知道,用vb操作excel的表格非常简单,但是偏偏项目中碰到了VB操作word表格的部分,google、baidu搜爆了,都没有找到我需要的东西。到是搜索到了很多问这个问题的记录。没办法,索性只有自己去尝试了。下面把一些代码发上来,给需要的朋友一点提示。 打开一个已经存在的wrod文件(这个文件包含了表格) Dim WordApp Dim Word Set WordApp = CreateObject(Word.Application) WordApp.Visible = True Set Word = WordApp.Documents.Open(c:\record.dot) 知道了就很简单了,下面是选定某一个表格的一个单元格,并修改其内容 Word.Tables(1).cell(1, 2)=内容 VBA中的这些数组元素下标都是从1开始的,比如excel的第一行一列也是ExSheet.Cells(1,1),而不是ExSheet.Cells(0,0),WORD的表格也是这样,不信自己试一下就知道了。所以上面那句话的意思就是对整个word文档中的第一个表格的第一行第二列的内容改变为“内容”。很简单吧?网上有些人在问是不是 Word.Tables(1).cell(1, 2).range.text或者Word.Tables(1).cell(1, 2).text。试一下就发现这2种都不对。 插入图片其实也很简单,代码如下: 说到这,肯定又有人会问怎么在一个word里插入一个表格。其实很简单: 如果你的程序里涉及到合并及拆分单元格,那么你可能试一下这段代码: dim Table set Table = wdApp.ActiveDocument.Tables.Add(wdApp.Application.Selection.Range, NumRows:=27, NumColumns _ :=7, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _ wdAutoFitFixed) Set mySelection = wdApp.Documents.Application.Selection mySelection.Cells.Borders(-7).LineStyle = 1 选中表格的第2行第3列 table.Cell(2, 3).Select 向下移动6格,第1个参数和第3个是常数 Call wdBook.Application.Selection.MoveDown(5, 6, 1) 合并 wdBook.Application.Selection.Cells.Merge 拆分成7行2列 Call wdBook.Application.Selection.Cells.Split(7, 2, True) 如果大家碰到了更复杂的程序,用程序生成起来比较麻烦,那么你就可以用模板来实现了
显示全部
相似文档