C # i interakcja słów, Mam dokument tekstowy z niektórymi polami tekstowymi (kształty msoTextBox), problem, którego nie mogę iterować po kolekcji kształtów z poniższym kodem:
foreach (Shape shape in WordDocument.Shapes)
{}
chociaż podczas ustawiania punktu przerwania w linii pętli widzę, że WordDocument.Shapes.Count zwraca 4.
Zauważam, że pola tekstowe są wstawiane przy użyciu otwartego xml sdk.
Odpowiedzi:
2 dla odpowiedzi № 1Znalazłem problem z użyciem pól tekstowych. Popatrz na to rozwiązanie.
0 dla odpowiedzi nr 2
Od Code Project :
// 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);
}
}
Z tego, co powiedziałeś, wyglądasz, jakbyś postąpił właściwie.
Czy możesz podać nam błąd StackTrace?
PS: Wiem, że moje pytanie powinno być w komentarzach, ale nie byłoby czytelne :)