上一句在Excel中使用VBA技术访问Word文档时,今天我们介绍了如何在Excel中使用VBA在Word文档中编写/提取数据。
编写Word文档
当前文件夹中有test的Word文档,文档只有一个6列3行的空表。现在,在Excel中使用VBA将内容写入此Word文档。
当前文件夹,打开Excel,打开Visual Basic视图,输入以下代码:
单击“运行”按钮后,您将看到Word文档中的表1已用数字填充。
最终结果如下图所示。
代码解释:
Wda文件名:=t ' \;打开当前文件夹下的测试一词文档。
打开Wda=True后,可以查看文档。
Wda(1)。Tables(1)。RangeWord文档表1(Tables(1))的范围。该表共包含3行6列,因此范围为18。
.Cells(i)。Range=I在Word表1中写入相应的数字。
完整的代码如下:
Sub数据将写入word()
Dim wdapp As Word。Application
Dim wddoc As Document
Set wdapp=New Word。Application
Wda文件名:=t ' \;
Wda=True
With wda(1)。Tables(1)。Range
For I=1 To .Cells.Count
.cells (I)。范围=i
next
End With
End Sub读取Word中的数据
在下图中,Word包含存储其他数据的表1。现在,您必须提取纯数据项并将其聚合到Excel单元格中。
打开Visual Basic视图,然后输入以下代码:
单击“运行”按钮完成数据提取,结果如下图所示。
代码说明:
Left(.cells (I)。range、len(.cells (I)。范围)-2):
.Cells(i)。Range是当前Word单元格的内容。例如,第一个单元格的内容是[18],但提取不仅仅是18。可以在VBA本地窗口中找到。它是[18],18个空格是正方形的。但是我们只要数字18,就不需要后面的空格和正方形。在此,我们将使用left函数删除最后两位并提取数字。
IsNumeric(u):
检查u是否为数字,如果是,请转到下一步,否则退出。
程序运行结束后,必须关闭Word、wda。请记住!
详细代码如下图所示。
子提取数据()
On Error Resume Next
Dim wdapp As Word。Application
Dim wddoc As Document
Set wdapp=New Word。Application
Wda文件名:=t ' \;
Wda=False
N=1
With wda(1)。Tables(1)。Range
For I=1 To .Cells.Count
U=left(.cells (I)。range、len(.cells (I)。范围)-2)
If IsNumeric(u) Then
N=n 1
Cells(n,1)=u
End If
next
End With
Cells(1,1)='数字提取'
wda
End Sub摘要
以上是有关在Excel中使用VBA操作Word的介绍。如果觉得有用,请关注我,定期分享数据提示!