【发布时间】:2019-06-14 03:31:14
【问题描述】:
我正在编写一个宏,它将导入一些 XML 数据,然后用它做一些聪明的事情。以下代码打开 XML,但作为一个新工作簿 - 谁能建议如何将其打开到当前工作簿中?
Dim fNameAndPath As Variant
fNameAndPath = Application.GetOpenFilename(FileFilter:="XML Files (*.xml), *.xml", Title:="Select File To Be Opened")
If fNameAndPath = False Then Exit Sub
Workbooks.Open Filename:=fNameAndPath
干杯
编辑 - 这是一些完成这项工作的代码
Sub OpenXML()
Dim FilesToOpen
Dim x As Integer
Dim wkbAll As Workbook
Dim wkbTemp As Workbook
Dim sDelimiter As String
Dim newSheet As Worksheet
On Error GoTo ErrHandler
Application.ScreenUpdating = False
sDelimiter = ","
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="XML Files (*.xml), *.xml", _
MultiSelect:=True, Title:="XML File to Open")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "No Files were selected"
GoTo ExitHandler
End If
For x = 1 To UBound(FilesToOpen)
Set wkbTemp = Workbooks.Open(Filename:=FilesToOpen(x))
'wkbTemp.Sheets(1).Copy
wkbTemp.Sheets(1).Cells.Copy
' here you just want to create a new sheet and paste it to that sheet
Set newSheet = ThisWorkbook.Sheets.Add
With newSheet
.Name = "Original_XML"
.PasteSpecial
End With
Application.CutCopyMode = False
wkbTemp.Close
Next x
End Sub()
【问题讨论】: