C # und Word Interop, Ich habe ein Word-Dokument mit einigen Textfeldern (msoTextBox-Formen), das Problem, dass ich die Formensammlung mit dem folgenden Code nicht durchlaufen kann:
foreach (Shape shape in WordDocument.Shapes)
{}
Wenn ich jedoch einen Haltepunkt in der Schleifenlinie setze, kann ich sehen, dass WordDocument.Shapes.Count 4 zurückgibt.
Ich stelle fest, dass Textfelder mit open xml sdk eingefügt werden.
Antworten:
2 für die Antwort № 1Ich habe ein Problem festgestellt, wenn Textfelder verwendet werden. Schau dir das an Lösung.
0 für die Antwort № 2
Von Code-Projekt :
// Get the word count from all shapes
foreach (Word.Shape shape in wordDocument.Shapes)
{
if (shape.TextFrame.HasText < 0)
{
count+=GetCountFromRange(shape.TextFrame.TextRange,wordDocument,word);
}
}
Nach dem, was du gesagt hast, siehst du so aus, als ob du das Richtige tust.
Können Sie uns den Fehler StackTrace geben?
PS: Ich weiß, meine Frage hätte in den Kommentaren stehen sollen, aber sie wäre nicht lesbar gewesen :)