【问题标题】:Extract data from content controls in Word to Excel从 Word 中的内容控件中提取数据到 Excel
【发布时间】:2015-06-13 23:52:27
【问题描述】:

我有一个“可填写表单”的 Word 文档,即其中包含内容控件对象,例如富文本和日期选择器内容控件。我希望将特定字段中的数据提取到 Excel 中。例如,每个表单都有项目标题、开始日期和经理。我想要 1 行包含这三个数据的表格。最终,这需要每隔几个月对数百个这样的表格进行,但现在我想从一个开始。

我设想在 Excel 工作表上有一个按钮,它将运行 VBA 代码以从 Word 文档中提取数据,并在工作表中填充适当的单元格。 Word 文档的文件路径由用户指定。

我是 VBA 新手。如何将我的代码指向正确的文件,然后再次指向我需要的特定字段?我是否在 Word 文档中给字段标题?

这是在 MS Office '13 中

【问题讨论】:

标签: vba excel ms-word


【解决方案1】:

您的应用程序将包含大量具体细节,如果没有具体细节,这些细节将难以解决。首先,这里有一些非常简单的代码,可以从 Word 中的 Excel 下拉列表中获取日期。

注意要使用 Word,您需要在 Excel 端创建对“Microsoft Word 15.0 对象库”的引用。工具 -> VBA 编辑器中的引用。

在跨应用程序工作时,可以帮助在 Word 中编写 VBA,然后在获得所需属性后将其移至 Excel。

这个等式的 Excel 端的 VBA:

Sub GetDataFromWordFile()

    Dim wrd As Word.Application
    Dim file As Word.Document


    Set wrd = New Word.Application
    Set file = wrd.Documents.Open("test.docx")

    Range("A1") = file.ContentControls(1).Range.Text

    file.Close
    wrd.Quit

End Sub

我的 Word 文件包含一个 ContentControl。不确定如何解决您想要的问题(反复试验?)。

Excel 端将日期放在正确的位置。

【讨论】:

  • 太好了,谢谢!这就是我一直在寻找的开始。我会试试这个。所有代码都可以在 Excel 文件上运行,还是 Word 文档需要它自己的任何 VBA?
  • @partiallyfulltime,所有代码都将在 Excel 端运行。 Word 端无需更改。在尝试获取正确的对象时,在 Word 端使用 Word 对象模型会很有帮助,但最终代码都在 Excel 端。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多