/ / Die Shapes-Sammlung kann nicht durchlaufen werden - ms-word, interop, vsto

Kann die Shapes-Sammlung nicht durchlaufen - ms-word, interop, vsto

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 № 1

Ich 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 :)