将Word ActiveX单选按钮读入vb.net表单

时间:2015-06-25 16:27:38

标签: vb.net activex

我正在处理一些代码,使用vb.net将Word文档中的值读取到Windows窗体中。单词文档的设计使得要读入的数据全部包含在内容控件中。以下是我的代码示例:

Private Sub ImportWordButton_Click(sender As Object, e As EventArgs) Handles ImportWordButton.Click
    Dim oWord As Microsoft.Office.Interop.Word.Application
    Dim oDoc As Microsoft.Office.Interop.Word.Document
    Dim oCC As Microsoft.Office.Interop.Word.ContentControl

    oWord = CreateObject("Word.Application")
    oDoc = oWord.Documents.Open("C:\Temp\PIFFormTest2.docx", [ReadOnly]:=False)

    For Each oCC In oDoc.ContentControls
        Select Case oCC.Tag
            Case "PIFNo"
                NumberBox.Text = oCC.Range.Text
            Case "PIFTitle"
                TitleBox.Text = oCC.Range.Text 
            Case "Initiator"
                InitiatorBox.Text = oCC.Range.Text
            Case "PTHealthSafety"
                HealthSafeCheckBox.Checked = oCC.Checked
            Case "PTRegEnviro"
                RegEnvCheckBox.Checked = oCC.Checked

......它还在继续。 Word文件中的某些内容是使用ActiveX单选按钮而不是内容控件捕获的。我似乎无法找到引用单选按钮的正确对象。我花了很多时间在网上搜索。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我也正在研究这个问题,这是一场噩梦。

For Each f As Field In oDoc.Fields    'notice fields not content controls
    Console.WriteLine(f.OLEFormat.Object.Name) 'notice properties, not methods...
Next

Here's the MSDN reference