를 얻을 수 없다 본문. 이것은 내 코드입니다. 누군가 왜 저에게 말합니까? 감사.Word2010 모양 GroupItems 내가이 하위 셰이프를 얻을 수 없다, 나는이 문서에서, 나는 내가 subshapes을 얻을 때 group.but을 사용하는 일부 모양을 가지고, word2010에 의해 편집하는 DOCX를 열 TextFrame2.TextRange
Word.Application woradApp = new Word.Application();
Word.Document doc = woradApp.Documents.Open(@"D:\ABC\a.docx");
Word.Shapes Shapes =doc.Shapes;
List<Word.Shape> list = Shapes.Cast<Word.Shape>().ToList<Word.Shape>();
foreach (Word.Shape shape in list)
{
if (shape.Type == MsoShapeType.msoGroup)
{
Word.GroupShapes dyShapes = shape.GroupItems;
foreach (dynamic item in dyShapes)
{
var range = item.TextFrame2.TextRange;
}
}
}
은 "item.TextFrame2.TextRange.Text"코드 "TextRange"와 같은 예외를주는이 곳의 텍스트를 얻을 수 있습니다, 텍스트가되어야한다, 널?
안녕 bonCodigo가, 감사는 answer.But 위해 나는 아직도 캔트 당신의 방법으로 텍스트를 얻을. – Wendy369
안녕하세요 bonCodigo, 먼저 "item.TextFrame2.TextRange"를 사용하여 "TextRange \t {System.Reflection.TargetInvocationException : System.ArgumentException : 지정된 값 超 脱了范围 "."빠른 시계 "를 사용하지만 텍스트 정보를 찾을 수 없습니다. "shape.UnGroup()"을 사용하여 두 번째로 ShapeRange를 가져 오지만 여전히 사용할 수있는 TextRange를 찾을 수 없습니다. 문서가 Word2010으로 편집되고 "Docx"로 저장됩니다. 위 코드를 word2003에 사용하면 모두 괜찮습니다. 지금 내가 무엇을 해야할지 모르겠다. 제안을 해줄 수 있습니까? 감사. – Wendy369
Wendy369 여기에 중국어를 입력하지 마십시오. 이 사이트는 영어로 운영됩니다. 그리고 코드가 2003 년에 작동하고 2010 년에 처음에는 실패했다고 언급하지 않았습니다. 코드가 2003 년에 작동하는지 확인할 수 있습니까? – bonCodigo