AAB40 Ответов: 1

Как добавить XML-файл без дополнительной рабочей книги в VBA?


Я сделал это, чтобы добавить xml-файл на лист 2 настоящей книги в excel с помощью VBA. Хотя каждый раз, когда я нажимаю кнопку, excel, тем не менее, добавляет книгу в мою исходную книгу. Как я могу закодировать это, чтобы этого больше не происходило, пожалуйста?

Что я уже пробовал:

Private Sub CommandButton1_Click()
' AddXml
'
Dim fldg As FileDialog
Dim foldername As String
Dim strTargetFile As String
Dim wb As Workbook
 

Set fldg = Application.FileDialog(msoFileDialogFilePicker)
With fldg
.Title = "Select an XML to import"
.AllowMultiSelect = False
If .Show <> -1 Then GoTo NextCode
foldername = .SelectedItems(1)
End With
NextCode:
GetFolder = foldername
Set fldg = Nothing
 
strTargetFile = foldername
Set wb = Workbooks.OpenXML(Filename:=strTargetFile, LoadOption:=xlXmlLoadImportToList)
Application.DisplayAlerts = True
 
wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets("Sheet2").Range("A1")
wb.Close False
Application.ScreenUpdating = True
 
End Sub

1 Ответов

Рейтинг:
2

Maciej Los

Кажется, вы уже ответили на свой вопрос: Как показать выбранный XML-файл на листе 2 excel[^].

Если нет, то вы должны удалить этот вопрос и ответить на свой предыдущий вопрос, а затем обновить вопрос, добавив необходимые детали.


AAB40

Привет, Мацей, нет, это не имеет ничего общего с моим предыдущим вопросом (я думаю). этот вопрос касается того факта, что я могу добавить xmlfile в свой текущий vbaproject в Workbook1, но каждый раз, когда я нажимаю «Добавить Xml-файл», в текущую книгу добавляется дополнительная книга. Как и в предыдущем вопросе, речь шла о том, чтобы оставаться в текущей книге, а не всегда открывать другую. Я больше не открываю другую книгу, у меня есть XML-файл, вставленный в мою текущую книгу, но в проекте код по-прежнему добавляет другие книги. Как будто вы бы сделали это вручную. Вы это понимаете? (В предыдущем посте у меня был кто-то, кто очень разборчиво относился к этому и действительно раздражал, ожидая, что я уменьшу вопросы до костей, чтобы иметь возможность идти шаг за шагом или что-то в этом роде.)