VBA Excel - 如何提取 XML 元素

问题描述

我正在尝试使用 Excel VBA 从 XML 文件中提取使用前一个元素的元素。 XML 文件为每个元素重复节点并且不是唯一的。我尝试搜索第一个元素的文本(测试 1),然后使用 .Offset 拉下一个元素(1111),但是,这不起作用。帮助?

XML 数据示例

<Content>
<Dropdown>Test 1</Dropdown>
<amount>1111</amount></Content>
<Content>
<Dropdown>Test 2</Dropdown>
<amount>2222</amount></Content>

我的 VBA 代码示例:

 Dim check_cell          As Range
 Dim ws_input            As Worksheet
 Dim ws_Test             As Worksheet

Set ws_input = Application.Workbooks.Open(Test_file).Sheets(1)

For Each check_cell In ws_input.Range(ws_input.Cells(2,1),ws_input.Cells(2,Last_Column(ws_input,2)))
    
        Select Case True               
          Case check_cell.Text Like "/Content/Dropdown*"
          If check_cell.Offset(1,0) = "Test 1" Then
           LocateField("Test 1?",ws_Test).Offset(0,1) = check_cell.Offset(1,1)
           End If
           End Select
    Next check_cell
End Sub

Public Function LocateField(desc As String,ws As Worksheet,Optional after_range As Variant) As Range

    On Error Resume Next
    Set LocateField = ws.Cells.Find(what:=desc,After:=after_range,LookIn:=xlValues,SearchOrder:=xlByRows,MatchByte:=False)
    On Error GoTo 0
    
    
    If LocateField Is Nothing Then
        MsgBox "Field not found."
    End If

    
End Function

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)