当前位置: 代码迷 >> 综合 >> Word VBA中读取Excel表格中的数据
  详细解决方案

Word VBA中读取Excel表格中的数据

热度:96   发布时间:2024-03-10 01:49:40.0

Word VBA中读取Excel表格中的数据

前天有一个项目需要写详细设计报告,其中有一块重要内容是把Excel中的每一行数据做成一个Word中的表格。一共将近100行数据,如果我一行一行地手动去做,估计手就废了,于是采用Word VBA。

基本编程思路

  1. 创建一个空word文档
  2. word文档中,编辑好一个示例表格,作为一个母表,后续所有的表格程序都是复制这张表,然后修改复制后的新表格的数据
  3. 打开Excel,遍历每一行数据
  4. 取这一行关键数据,复制母表,改变复制后的表格数据

代码片段

Dim wb As Document
Set doc = Application.ActiveDocumentSet xlapp = CreateObject("excel.application")
Set wkBook = xlapp.Workbooks.Open("C:\Users\shenh\Desktop\VBA处理Excel表格\几何拓扑检查项.xlsx")For rowNum = 1 To 63CheckName = wkBook.Worksheets(1).Cells(rowNum, 3)meaning = wkBook.Worksheets(1).Cells(rowNum, 4)CheckName = CheckName & "项"paraCount = doc.Paragraphs.Countdoc.Paragraphs(paraCount).Range.Text = CheckName & vbCrLf            '写标题paraCount = doc.Paragraphs.Countdoc.Paragraphs(paraCount).Range.Text = CheckName & "详细定义见表" & rowNum + 75 & "所示" & vbCrLf         '写标题paraCount = doc.Paragraphs.Countdoc.Paragraphs(paraCount).Range.Text = "表 " & rowNum + 75 & " " & CheckName & "定义表" & vbCrLfdoc.Tables(1).Range.CopySet endRange = ActiveDocument.ContentendRange.Collapse Direction:=wdCollapseEndendRange.Pastedoc.Tables(rowNum + 1).Cell(1, 3).Range.Text = CheckNamedoc.Tables(rowNum + 1).Cell(1, 3).Range.Text = meaningNext
MsgBox wkBook.Sheets(1).Cells(1, 5)
wkBook.Close
xlapp.Quit
  相关解决方案