您的位置 首页 > 职场江湖

【vba怎么提取word数据】Excel如何读写Word表中的数据?VBA很容易处理

上一句在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的介绍。如果觉得有用,请关注我,定期分享数据提示!

关于作者: luda

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐