Word VBA中读取Excel表格中的数据
前天有一个项目需要写详细设计报告,其中有一块重要内容是把Excel中的每一行数据做成一个Word中的表格。一共将近100行数据,如果我一行一行地手动去做,估计手就废了,于是采用Word VBA。
基本编程思路
- 创建一个空word文档
- word文档中,编辑好一个示例表格,作为一个母表,后续所有的表格程序都是复制这张表,然后修改复制后的新表格的数据
- 打开Excel,遍历每一行数据
- 取这一行关键数据,复制母表,改变复制后的表格数据
代码片段
Dim wb As Document
Set doc = Application.ActiveDocument
Set xlapp = CreateObject("excel.application")
Set wkBook = xlapp.Workbooks.Open("C:\Users\shenh\Desktop\VBA处理Excel表格\几何拓扑检查项.xlsx")
For rowNum = 1 To 63
CheckName = wkBook.Worksheets(1).Cells(rowNum, 3)
meaning = wkBook.Worksheets(1).Cells(rowNum, 4)
CheckName = CheckName & "项"
paraCount = doc.Paragraphs.Count
doc.Paragraphs(paraCount).Range.Text = CheckName & vbCrLf '写标题
paraCount = doc.Paragraphs.Count
doc.Paragraphs(paraCount).Range.Text = CheckName & "详细定义见表" & rowNum + 75 & "所示" & vbCrLf '写标题
paraCount = doc.Paragraphs.Count
doc.Paragraphs(paraCount).Range.Text = "表 " & rowNum + 75 & " " & CheckName & "定义表" & vbCrLf
doc.Tables(1).Range.Copy
Set endRange = ActiveDocument.Content
endRange.Collapse Direction:=wdCollapseEnd
endRange.Paste
doc.Tables(rowNum + 1).Cell(1, 3).Range.Text = CheckName
doc.Tables(rowNum + 1).Cell(1, 3).Range.Text = meaning
Next
MsgBox wkBook.Sheets(1).Cells(1, 5)
wkBook.Close
xlapp.Quit