Мне нужно переименовать папки / листы при импорте нескольких xml-файлов в excel. Я бы предпочел, чтобы имена были Data1, Data2, ... и т. Д. Если это невозможно, имена могут совпадать с импортированными xml-файлами.
Код, который я использую, прекрасно работает для импорта xml-файлов на отдельные листы в активной книге.
Sub From_XML_To_XL()
Dim xmlWb As Workbook, xSWb As Workbook, xStrPath$, xfdial As FileDialog, xFile$
Set xfdial = Application.FileDialog(msoFileDialogFolderPicker)
xfdial.AllowMultiSelect = False
xfdial.Title = "Select a folder"
If xfdial.Show = -1 Then xStrPath = xfdial.SelectedItems(1) & "\"
If xStrPath = "" Then Exit Sub
Set xSWb = ThisWorkbook
xFile = Dir(xStrPath & "\*.xml")
Do While xFile <> ""
Set xmlWb = Workbooks.OpenXML(xStrPath & "" & xFile)
xSWb.Sheets.Add , xSWb.Worksheets(xSWb.Worksheets.Count)
xmlWb.Sheets(1).UsedRange.Copy xSWb.Sheets(xSWb.Worksheets.Count).Cells(1, 1)
MsgBox xmlWb.Name & " copied to " & xSWb.Sheets(xSWb.Worksheets.Count).Name
xmlWb.Close False
xFile = Dir()
Loop
Application.ScreenUpdating = True
xSWb.Save
MsgBox "End of code."
Exit Sub
ErrHandler:
MsgBox "Error!", , "Kutools for Excel"
End Sub