2016-09-07 8 views
0

Мне нужно обновить кучу значений, которые в настоящее время хранятся в нескольких текстовых документах как Auto Text (или Building Blocks), их слишком много, поэтому я надеялся используйте API Interop Word.Word Interop- Добавить новый автотекст/строительный блок

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

К сожалению, я не могу видеть членов Document, связанные с функцией Auto Text в Word (Вставка> Быстрый частей> Building Blocks Organizer).

Предоставляет ли API какой-либо способ добавления/обновления значений Auto Text в «Building Blocks Organizer»?

ответ

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

Именно то, что я искал спасибо. К сожалению, документы, с которыми я работаю, были неправильно использованы, потому что я не могу программно обновлять AutoText, но имею рабочую версию. – Anth12