怎么在Excel中編寫VBA程序加載XML文件
1、新建Excel文件,打開Visual Basic編輯器。選擇菜單欄中的“插入”|“模塊”命令創(chuàng)建一個新模塊,雙擊該模塊打開其“代碼”窗口,在其中輸入程序代碼,如圖1所示。具體的程序代碼如下所示:
Sub CreateXMLList()
Dim xMap As XmlMap
Dim objList As ListObject
Dim arrPath As Variant
Dim mPath As XPath
Dim i As Integer
On Error Resume Next
arrPath=Array("學號","姓名","性別","出生年月",_
"身份證號","籍貫","電話","地址") '架構元素名
Set xMap=ThisWorkbook.XmlMaps("學生信息架構映射") '獲取架構映射
If xMap Is Nothing Then '如果架構映射不存在則創(chuàng)建
Set xMap=ThisWorkbook.XmlMaps.Add(ThisWorkbook.Path&_"\學生信息.xsd") '創(chuàng)建到學生信息的架構映射
xMap.Name="學生信息架構映射" '設置架構映射的名稱
End If
Set objList=Sheet1.ListObjects.Add '在Sheet1表中添加列表
For i=1 To UBound(arrPath)
objList.ListColumns.Add '為列表添加列
Next
For i=0 To UBound(arrPath) '設置列表的各個列
objList.ListColumns(i+1).Name=arrPath(i) '設置列表第i+1列的列標題
objList.ListColumns(i+1).XPath.SetValue xMap,_"/學生明細/學生信息/"&arrPath(i) '建立第i+1列的區(qū)域映射
Next
xMap.Import ThisWorkbook.Path&"\學生信息.xml" '導入XML數據文檔
End Sub
圖1 添加模塊并輸入程序代碼
2、切換到Excel,選擇A1單元格,返回Visual Basic編輯器中,將插入點光標放置到上一步創(chuàng)建的程序中,按F5鍵運行程序,在Excel工作表中可以查看到程序代碼運行的結果,如圖2所示。
圖2 程序運行的結果
提示
從上面的結果中可以看出,Excel文件中已經加載了映射的名稱和元素,并且將這些元素都填充到Excel的列表中。
3、添加導入數據的代碼。在程序代碼的最后添加如下代碼:
xMap.Import ThisWorkbook.Path&“\學生信息.xml” '導入XML數據文檔
返回到VBA中,查看程序代碼運行結果,如圖3所示。
圖3 運行結果
注意
通過錄制宏并不能獲取導入XML文檔數據的全部代碼,其中指定映射區(qū)域的步驟將不會獲取任何宏代碼。因而讀者在使用該方法時,需要自己手動完成這些代碼的設置工作。
繼續(xù)查找其他問題的答案?
-
Excel 2019如何使用復制、粘貼命令插入Word數據?(視頻講解)
2021-01-257次播放
-
2021-01-2227次播放
-
2021-01-2210次播放
-
2021-01-2212次播放
-
2021-01-226次播放
-
2021-01-223次播放
-
2021-01-222次播放
-
Excel 2019如何利用開始選項卡進入篩選模式?(視頻講解)
2021-01-223次播放
-
2021-01-223次播放
-
2021-01-222次播放
點擊加載更多評論>>