Нужна помощь в извлечении значений optionbutton из текстового документа - PullRequest
0 голосов
/ 28 сентября 2010

У меня есть документ Word, который содержит текстовые поля, поля формы и кнопки параметров, которые мне нужно обрабатывать автоматически с помощью C #.Я могу использовать коллекцию formfields для извлечения текста и полей формы, но когда дело доходит до кнопок выбора (переключателей), я изо всех сил пытаюсь найти, где можно получить к ним доступ.Я пробовал коллекцию contentcontrols, так как кнопки выбора являются элементами управления activex, я предполагал, что они будут там, но, увы, коллекция пуста, когда я к ней обращаюсь.Я бы предпочел использовать для этого элементы управления автоматизацией слов (Microsoft.Office.Interop.Word), но я открыт для любых предложений.

Документ был создан в Word 2007 с использованием инструментов разработчика.При необходимости я могу опубликовать пример документа, но не могу опубликовать документ, который пытаюсь прочитать, поскольку он является собственностью.

1 Ответ

1 голос
/ 29 сентября 2010

Был в состоянии определить решение, возможно, не идеальное, учитывая 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 );
     }
...