2016-09-07 50 views
0

我需要更新当前存储在多个Word文档的自动文本(或构件块)一群值的,有太多的手工做的,所以我希望能使用Interop Word API。字Interop-添加新的自动图文集/积木

var app = new Application(); 
var doc = app.Documents.Open(@"c:\path\to\file.dot"); 

可惜我看不到在Word中(插入>快速部件>构建基块管理)相关的自动文本功能Document任何成员。

API是否公开将/在“构建基块管理”自动更新文本值的方法吗?

回答

1

你需要做的就是创建一个新的文件和模板附加到文件,从我的头顶:

ActiveDocument.AttachedTemplate = @“C:\路径\为\ file.dot” ;

之后,你可以在interate像这样AutoTextEntries(一VBA的例子,但我敢肯定,你可以很快自行改写为C#)

Sub test() 

    ActiveDocument.AttachedTemplate = @"C:\path\to\file.dot" 

    For Each oAutoText In ActiveDocument.AttachedTemplate.AutoTextEntries 
     MsgBox oAutoText.Value 
     oAutoText.Value = Replace(oAutoText.Value, strOld, strNew) 
    Next oAutoText 

End Sub 
+0

正是我一直在寻找的感谢。不幸的是,我正在使用的文档已被误用,这意味着我无法以编程方式实际更新自动图文集,但确实有工作版本。 – Anth12