我正在尝试遍历word文档及其形状对象以找到DOCVARIABLES。形状对象具有一个文本框。这是我直接从Word中提取的宏。
:Selection.HeaderFooter.Shapes.Range(Array(“ Text Box 7”))。Select
文本框位于页眉页脚中包含的形状对象中。我已经遍历了页眉和页脚的形状范围,但是只检索了shapeRange [j] .Type = msoEmbeddedOLEObject
foreach (HeaderFooter footer in section.Footers)
{
for (int i = 1; i <= footer.Shapes.Count; i++)
{
Microsoft.Office.Interop.Word.ShapeRange shapeRange = footer.Shapes.Range(i);
for (int j = 1; j <= shapeRange.Count; j++)
{
string shapetype = shapeRange[j].Name;
if (shapeRange[j].Type == MsoShapeType.msoTextBox)
{
var shapeFields = shapeRange.TextFrame.TextRange.Text;
if (shapeFields.Contains("DOCVARIABLE"))
{
}
}
}
}
}
我正在尝试遍历word文档及其形状对象以找到DOCVARIABLES。形状对象具有一个文本框。这是我直接从Word中提取的宏。选择....
由@slightlysnarky解决-验证TextFrame.HasText为true。