-1

我需要使用 VBA 从查看源选项卡中提取文本“目录管理器/销售”和“EOL(产品/组件)”。

下面是查看源代码:

<tr>
    <td nowrap="true" valign="top" width="165px" class="ms-formlabel"><h3 class="ms-standardheader"><a name="SPBookmark_Requesting_x0020_Group"></a>Requesting Group</h3></td>
    <td valign="top" class="ms-formbody" width="450px" id="SPFieldChoice">
        <!-- FieldName="Requesting Group"
             FieldInternalName="Requesting_x0020_Group"
             FieldType="SPFieldChoice"
          -->
        Catalog Managers/ Sales
    </td>
</tr>

<tr>
    <td nowrap="true" valign="top" width="165px" class="ms-formlabel"><h3 class="ms-standardheader"><a name="SPBookmark_Reason_x0020_for_x0020_change"></a>Reason for change</h3></td>
    <td valign="top" class="ms-formbody" width="450px" id="SPFieldChoice">
        <!-- FieldName="Reason for change"
             FieldInternalName="Reason_x0020_for_x0020_change"
             FieldType="SPFieldChoice"
          -->
        EOL (product/component)
    </td>
</tr>

有多个id="SPFieldChoice",我只需要提取“请求组”和“更改原因”的详细信息。

我正在编写下面的代码以获取 excel 中的详细信息,但这并不特定于我的要求。

Set hcol = ie.document.getElementsByTagName("td")
    For Each inps In hcol
        If inps.ID = "SPFieldChoice" Then
            Sheets("Sheet2").Range("A" & j).Value = inps.innerText
        End If
    Next

需要一个只能提取上述所需细节的代码。

4

1 回答 1

0

这只是一个建议(我无法验证答案),但我想说明您可以尝试什么:

Set hcol = Set hcol = ie.document.getElementsByTagName("td")

For Each inps In hcol
    If inps.ID = "SPFieldChoice" Then
        If InStr(1, inps.innerHTML, "Requesting Group") > 0 Or InStr(1, it, "Reason for change") > 0 Then
            Sheets("Sheet2").Range("A" & j).Value = inps.innerText
        End If
    End If
Next
于 2015-07-02T21:36:45.303 回答