2016-09-07 2 views
0

Ich muss eine Reihe von Werten aktualisieren, die derzeit in mehreren Word-Dokumenten als Auto Text (oder Building Blocks) gespeichert sind, es gibt zu viele von Hand zu tun, so hatte ich gehofft Verwenden Sie die Interop-Word-API.Word Interop - Neuen Autotext/Baustein hinzufügen

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

Leider kann ich keine Mitglieder von Document zum Auto Text-Funktion in Word (Einfügen> Schnellteile> Building Blocks Organizer) im Zusammenhang sehen.

Bietet die API eine Möglichkeit zum Hinzufügen/Aktualisieren von Auto Text-Werten im 'Building Blocks Organizer'?

Antwort

1

Was müssen Sie tun, um ein neues Dokument erstellen und die Vorlage zu diesem Dokument aus der Spitze von meinem Kopf befestigen:

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

Danach können Sie über die AutoTextEntries wie diese Interate (ein VBA-Beispiel, aber ich bin sicher, dass Sie es zu C# schnell selbst neu schreiben kann)

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

Genau das, was ich für Dank suchte. Leider wurden die Dokumente, mit denen ich arbeite, missbraucht, was bedeutet, dass ich den AutoText nicht programmatisch aktualisieren kann, aber eine funktionierende Version habe. – Anth12

Verwandte Themen