作者:乔山办公网日期:
返回目录: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