2015-06-27 1 views
1

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

То, что я до сих пор:

Sub Export_Main_XML() 

Dim JobNumber As String 
JobNumber = Sheet12.Range("A4").Text 
XMLName = ThisWorkbook.Path & "\" & JobNumber & "_Main_Export.xml" 
    ActiveWorkbook.XmlMaps("Main_XML_Map").Export URL:=XMLName 
End Sub 

В идеале, что я ищу это:

Экспорт

-если не файл существует, только экспорт (скрипт выше)

-if файл на том же пути и название существует> попросить заменить «да или нет»

-если да, заменить

-Если нет, выход

Помогите пожалуйста, спасибо!

ответ

1

Посмотрите на существующий файл, попросите, чтобы перезаписать, если он существует - если это выбор передать true в .Export указать свое намерение заменить его:

JobNumber = Sheet12.Range("A4").Text 
XMLName = ThisWorkbook.Path & "\" & JobNumber & "_Main_Export.xml" 

'' does it exist already? 
If Dir$(XMLName) <> "" Then 
    '' exists 
    If MsgBox("Overwrite " & XMLName & " ?", vbYesNo, "Confirm Overwrite") = vbNo Then Exit Sub 
End If 

'' pass true to overwrite 
ActiveWorkbook.XmlMaps("Main_XML_Map").Export XMLName, True 
+0

Отлично! Спасибо, Алекс, я пробовал это последние 5 часов. – Diego

+0

@ Diego Если вы считаете совершенным, [принимаете] (http://stackoverflow.com/help/accepted-answer)? – pnuts