2010-09-28 65 views
0

我有一個word文檔,其中包含需要使用C#自動處理的文本字段,表單字段和選項按鈕。我可以使用formfields集合來提取文本和表單字段,但是當涉及到選項按鈕(單選按鈕)時,我正在努力尋找訪問它們的位置。我已經嘗試了內容控件集合,因爲選項按鈕是activex控件,我認爲它們會落在那裏,但是當我訪問它時收集是空的。我寧願使用單詞自動化控件來執行此操作(Microsoft.Office.Interop.Word),但我願意接受任何建議。需要幫助從word文檔中提取optionbutton值

該文檔是使用開發人員工具在Word 2007中創建的。如有必要,我可以發佈示例文檔,但由於它是專有性質,我無法發佈我正在嘗試閱讀的文檔。

回答

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); 
    }