Ich habe den Code unten. Ich möchte den Text "Text1" durch "NewText" ersetzen, das ist Arbeit. Aber wenn ich den Text "Text1" in eine Tabelle setze, die für den "Text1" in der Tabelle nicht mehr funktioniert.
Ich möchte diesen Ersatz im gesamten Dokument machen.
%Vor% Ihr Code funktioniert nicht, weil das Tabellenelement ( w:tbl
) nicht enthalten ist
ein Absatzelement ( w:p
). Weitere Informationen finden Sie im folgenden Artikel MSDN .
Die Klasse Text
(serialisiert als w:t
) repräsentiert normalerweise den Text innerhalb eines Run
Elements in a
Word-Datei. So könntest du einfach nach allen w:t
elements ( Text
class) suchen und deine ersetzen
Tag, wenn das Textelement ( w:t
) Ihr Tag enthält:
Entlehnen Sie einige andere Antworten an verschiedenen Orten und mit der Tatsache, dass vier Haupthindernisse überwunden werden müssen:
Ich bin mir sicher, dass erweiterte Szenarios wie Lesezeichen, komplexe Verschachtelung, mehr Modifikationen benötigen, aber es funktioniert für die Arten von grundlegenden Word-Dokumenten, die ich bisher kennengelernt habe, und ist viel hilfreicher für mich, als Läufe ganz zu ignorieren oder Verwenden einer RegEx für die gesamte Datei ohne die Möglichkeit, einen bestimmten TableCell- oder Dokumentteil zu adressieren (für erweiterte Szenarien).
Beispielverwendung:
%Vor%Der Code:
%Vor%Tags und Links .net c# ms-word openxml openxml-sdk