【问题标题】:Change footer to multiple Word files using VBA使用 VBA 将页脚更改为多个 Word 文件
【发布时间】:2017-06-04 04:21:01
【问题描述】:

我想使用 VB 将特定的页脚应用于位于特定文件夹中的多个 word 文件,这样我就不必手动对每个文件执行此操作

【问题讨论】:

  • 欢迎来到Stack Overflow!您想专门使用 VBA 吗?为什么您的问题被标记为 [vb.net]?
  • @ZevSpitz 他在问题中说使用VB,我知道那只是一个IDE,但它也被标记为vb.net,所以我猜这就是他的意思。
  • @David 仍然不确定他的意思。 VBA 语言 + VBA IDE?还是 VB.NET +(大概)Visual Studio?如果他想要 VB.NET,他可以很容易地使用任何 .NET 语言——例如。 C#、IronPython 和 F#。
  • 这是一个常见问题。通常人们甚至不知道自己要标记什么或输入问题。 VBA 在标题中,VB 在正文中,VB.NET 在标签中。很难给出正确的答案。这就是为什么最好提供他们尝试过的代码,以便至少我们有更好的理解。就目前而言,这个问题没有任何努力,而且范围很广。

标签: vba ms-word footer


【解决方案1】:

一般来说,你应该:

  1. 使用Scripting.FileSystemObject 遍历给定文件夹中的文件;具体来说,GetFolder methodFiles property
  2. 检查文件是否为 Word 文档。如果是,则使用 Word 对象模型打开它:
  3. 页脚与文档的各个部分相关联。如果文档可能包含多个部分,您还必须使用Sections property 遍历文档中的每个部分。否则,您可以参考第一部分Sections[1]
  4. 通过Footers property 访问页脚,并传入适当的页脚类型——来自WdHeaderFooterIndex constants 的值。页脚分为三种类型:
    • 主要页脚
    • 偶数页的页脚(如果与奇数页不同)
    • 首页的页脚(如果与该部分中的其他页面不同)
  5. 使用页脚的Range propertyHeaderFooter object 上的其他属性来操作页脚的内容
  6. 保存文档,使用Save method

在 Word 下使用 VBA 具有在现有 Word 应用程序下工作的优势。但是,您可能更喜欢 .NET 语言(例如 C#、VB.NET、F#、Powershell)或其他支持 COM 的语言(例如 Javascript+WSH、Python、Delphi)。在这种情况下,请将第一步替换为您的语言中可用的任何 API,以迭代文件系统。

其他语言可能有专门用于读写 Word 文档的库。特别是,.NET 语言支持使用 Office Open XML SDK,用于直接读取/写入 Office 文档,并且不需要应用程序的打开实例。

【讨论】:

    猜你喜欢
    • 2012-11-18
    • 1970-01-01
    • 2019-03-19
    • 2019-01-07
    • 2018-08-17
    • 2020-05-21
    • 1970-01-01
    • 2019-06-04
    • 2021-10-03
    相关资源
    最近更新 更多