VB 2013,修改word文档属性/自定义属性

时间:2015-12-02 19:18:10

标签: vb.net

我希望创建一个加载项来更新word文档属性。我已准备好使用addin / ribbon /等,因为我还有其他功能正常工作。我使用MSVS向导来创建单词功能区项目。

我坚持如何;访问活动的Word文档,并访问属性/自定义属性。我无法弄清楚;声明,调用,库等我无法使任何MSDN示例工作....我完全错过了一些东西。

例如:'ActiveDocument.CustomDocumentProperties'不起作用。

免责声明 - 我不是编码员。我把这一切都与vba一起工作,我试图把它移植到vb。我还在阅读已发布的帮助,并尝试样本。

任何建议将不胜感激。亲切的问候,

3 个答案:

答案 0 :(得分:0)

我明白了。

在模块外宣布:

Imports moDoc = Microsoft.Office.Interop.Word

在子内 - 这将打开的应用与对象相关联:

Dim oActiveApp As moDoc.Application
oActiveApp = GetObject(, "Word.Application")

现在将打开的应用程序关联为文档:

Dim mocCustProperties As Microsoft.Office.Core.DocumentProperties
Dim odpProp As Office.DocumentProperty

现在odpProp可用于读取/添加属性:

For Each odpProp In mocCustProperties
  If odpProp.Name = “something” Then
   ‘do dtuff
  End If
Next

必须有一种方法可以通过将活动文档引用为文档而不是应用程序来实现此目的,但我无法使其工作。 欢呼声,

答案 1 :(得分:0)

Drat - 错过了几行 - 请忽略。

我明白了。 在模块外面声明:

Imports moDoc = Microsoft.Office.Interop.Word

在sub中,这将打开的应用与对象

相关联
Dim oActiveApp As moDoc.Application
oActiveApp = GetObject(, "Word.Application")
oDocCustomProperty = oActiveApp.ActiveDocument.CustomDocumentProperties

现在将打开的应用程序关联为文档

Dim mocCustProperties As Microsoft.Office.Core.DocumentProperties
Dim odpProp As Office.DocumentProperty
mocCustProperties = CType(oDocCustomProperty, Office.DocumentProperties)

现在odpProp可用于阅读/添加propoeties

For Each odpProp In mocCustProperties
  If odpProp.Name = “something” Then
    ‘do dtuff
  End If
Next

答案 2 :(得分:0)

了解更多。 我不再需要:

{"query":{"filtered":{"filter":{"ids":{"values":["yyyy"]}}}}}

使用Office.Core。而不是Office.Core.Interop

Imports moDoc = Microsoft.Office.Interop.Word

现在一切正常。