我有一个word文档,其中包含我需要使用C#自动处理的文本字段,表单字段和选项按钮。我可以使用formfields集合来提取文本和表单字段,但是当涉及到选项按钮(单选按钮)时,我正在努力寻找访问它们的位置。我已经尝试过contentcontrols集合,因为选项按钮是activex控件,我以为它们会落在那里但是当我访问它时,集合是空的。我更喜欢使用word自动化控件(Microsoft.Office.Interop.Word),但我愿意接受任何建议。
该文档是使用开发人员工具在Word 2007中创建的。如果有必要,我可以发布一个示例文档,但鉴于它的专有性,我无法发布我正在尝试阅读的文档。
答案 0 :(得分:1)
能够识别出一个解决方案,在OpenXML中可能并不理想,但可以满足我的需要。
Microsoft.Office.Interop.Word.Application a = new Microsoft.Office.Interop.Word.Application ();
Document d = a.Documents.Open
( "afile.docx",
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing );
d.ActiveWindow.Selection.WholeStory ();
d.Activate ();
foreach ( InlineShape isp in d.InlineShapes)
{
Console.WriteLine
( "{0}: {1}, {2}",
isp.OLEFormat.Object.Name,
isp.OLEFormat.Object.Caption,
isp.OLEFormat.Object.Value );
}