vba根据内容调整word表格_91页Word文档,5万多字,表格数目不详,统一调整大小

85139e73a1f069c26cd5f35a0afab8fc.png

Word 由于一般人都只用来打打字,所以用到VBA的场景不多。

但是对于写手、科研工作者,经常要用Word写文章,遇到一个长篇文章,需要批量调整格式内容时,VBA就有用武之地了。

比如最近拿到了一个91页Word,里面有不少表格,具体数目不详,每个表格的宽度都不一样,有些宽,有些窄,如下面所示

b38a78409f1e438a4d98aa4d95125abf.png

现在要把所有这些表格批量调整成统一的大小,如果手动,有91页,调整完估计要花不少时间。

这时候我们可以选择用vba来实现,但凡批量重复的事情交给vba实现是不二选择。

首先我们可以先对单一的表格录制宏

53623b0bbbd0699e397e642fee3b6515.gif

然后找到录制的宏代码

Sub 宏1()'    宏1    Selection.Tables(1).AutoFitBehavior (wdAutoFitWindow)End Sub

发现要把word表格调整成和窗口一样,代码是

Selection.Tables(1).AutoFitBehavior (wdAutoFitWindow)

最后需要了解下word中的对象层级关系

整个word文档对象是Document,所有的word表格隶属于Tables集合对象,Tables集合对象又隶属于Document对象。

有了上述的层级关系,我们就可以构建如下的vba代码:

Sub 宏1()    Dim oDoc As Document    Set oDoc = Word.ActiveDocument    Dim oTable As Table    For Each oTable In oDoc.Tables        oTable.AutoFitBehavior (wdAutoFitWindow)    NextEnd Sub

在代码窗格中按下F5运行上述代码,整个文档的所有表格就都根据窗口自动调整表格了。

这就是word vba的学习路径,先用录制宏找到关键的操作的代码,然后了解清楚对象之间的层级关系,其余的就是vba基础知识的拼凑。

50c98688efca14af09e1dfa6af731023.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值