乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > <em>word</em> 中如何使用<em>vba</em>来处理表格

<em>word</em> 中如何使用<em>vba</em>来处理表格

作者:乔山办公网日期:

返回目录:word文档


如果说填写,这个比较复杂,而且很难实现,因为word的VBA都是跟跟键盘操作,和界面操作有关的。所以,如果可能,可以考虑用VBA来复制表格,然后粘贴到EXCEL中,对于比较简单的表格,内容是可以完全匹配的。首先,你要知道如何用键盘来选择整个表格,然后复制,把这些操作录制下来,然后复制代码。。如果你是要从EXCEL 的VBA 入手,那么你需要在VBA引用中添加WORD Libary 11.0 如果是从WORD的VBA入手,那么就要添加EXCEL LIBARY 11.0 (OFFICE 2007 是 12.0)然后就是需要知道EXCEL中粘贴的代码,如果我记得不错的话,是:cells(1,1).paste这个,你也可以通过录制来得到。如果你需要知道具体的操作方案,你当然也应该吧分数提高。。。

Word VBA参考教zhidao:http://www.feiesoft.com/vba/word/

试试下面的代码:

Sub 宏1()
    Dim wordapp As Object
    Dim mydoc
    Dim mypath$, myname$
    Dim wdRng As Object
    Dim pos1%, pos2% '定义找到的字e79fa5e98193e58685e5aeb9338段的首位位置
    Application.DisplayAlerts = False
    Set wordapp = CreateObject("word.application")
    mypath = ThisWorkbook.Path & ""
    myname = Dir(mypath & "*.doc*")
    Set mydoc = wordapp.Documents.Open(mypath & myname)
    Set wdRng = mydoc.Range
    wdRng.Find.Execute ("(一)")
    pos1 = wdRng.Start
    Set wdRng = mydoc.Range
    wdRng.Find.Execute ("五、")
    pos2 = wdRng.Start
    mydoc.Range(pos1, pos2).Copy '选中找到的两个字段中间的内容
    mydoc.Close False
    wordapp.Quit
    Worksheets("Sheet2").Select
    Range("A1").Select
    ActiveSheet.Paste
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub


'仅 供 参 考
'此段代码没有对数据进行校验

Sub SearchCell()
Dim inp As String
Dim r As Row, c As Cell
Dim CELL_ENDING As String
CELL_ENDING= vbCr & Chr(7) 'word表格单元格文本结束符
inp = InputBox("输 入 关 键 字:")
inp = inp & CELL_ENDING
For Each r In ThisDocument.Tables(1).Rows '这里只查找文档中第1个表格
For Each c In r.Cells
If inp = c.Range.Text Then '这里也是完e68a84e8a2ad7a686964616f333全相同,也可用instr'InStr(1, c.Range.Text, inp, vbTextCompare) = 1
MsgBox Replace(r.Range.Text, CELL_ENDING, vbTab)
Exit Sub
End If
Next
Next
End Sub

相关阅读

  • <em>word</em> 中如何使用<em>vba</em>来处理表格

  • 乔山办公网word文档
  • 如果说填写,这个比较复杂,而且很难实现,因为word的VBA都是跟跟键盘操作,和界面操作有关的。所以,如果可能知,可以考虑用VBA来复制表格,然后粘道贴到EXCEL中,对于比较简单的
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网