我正在尝试编写一个vba代码将XML文件导入到excel中,以便使用vba对结果表进行其他修改,但它总是返回一个错误,“某些数据已作为文本导入”,我必须按“确定”为了让代码继续,我尝试插入错误处理程序,但没有成功
我尝试过的代码
Sub Import()
Dim XMLFileName As String
Dim SavePath As String
Dim WB As Workbook
XMLFileName = "D:\Reservation Statistics.xml"
SavePath = "D:\Reservation Statistics.xlsx"
Application.ScreenUpdating = False
Set WB = Workbooks.Add
WB.XmlImport Url:=XMLFileName, ImportMap:=Nothing, Overwrite:=True, Destination:=WB.Sheets(1).Range("A1")
WB.SaveAs SavePath, FileFormat:=xlOpenXMLWorkbook
WB.Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub
为了修复稍后存储为文本的数字,我使用了此代码。不知道这是否是正确的方法
Sub txttonum()
Dim rngRange As Range
Set rngRange = ActiveSheet.Range("A1:A20")
rngRange.Value = rngRange.Value * 1
End Sub
提前感谢您的任何提示。
我可以通过使用 Application.DisplayAlerts = False 来忽略/隐藏错误,所以最终代码是
Sub Import1()
Dim XMLFileName As String
Dim SavePath As String
Dim WB As Workbook
XMLFileName = "D:\Reservation Statistics.xml"
SavePath = "D:\Reservation Statistics.xlsx"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set WB = Workbooks.Add
WB.XmlImport Url:=XMLFileName, ImportMap:=Nothing, Overwrite:=True, Destination:=WB.Sheets(1).Range("A1")
WB.SaveAs SavePath, FileFormat:=xlOpenXMLWorkbook
WB.Close SaveChanges:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
结束子