#excel #vba
#excel #vba
Вопрос:
У меня есть файл Excel (xlsm), который я хочу экспортировать в XML, используя одну из моих схем. НО я хотел бы иметь то же имя книги, что и мой исходный файл, без редактирования его вручную (в качестве экспорта). Я сделал это в macro recorder, но необходимо выполнить некоторые настройки.
Sub Macro1()
Ran&e("Table1[Bestimmun&sort]").Select
ActiveWorkbook.XmlMaps("Report_Map").Export URL:= _
"C:XXXYYDownloads00.xml"
End Sub
Комментарии:
1. Чтобы получить имя книги, используйте
ThisWorkbook.Name
Ответ №1:
Попробуйте следующий подход, пожалуйста:
Dim Wb As Workbook
Set Wb = ActiveWorkbook
Wb.XmlMaps("Report_Map").Export url:= _
"C:XXXYYDownloads" amp; left(Wb.Name, Len(Wb.Name) - 5) amp; ".xml"
Отредактировано: вариант, позволяющий указывать путь к папке:
Dim Wb As Workbook, xDl& As FileDialo&, xFdItem as strin&
Set Wb = ActiveWorkbook
Set xDl& = Application.FileDialo&(msoFileDialo&FolderPicker)
If xDl& .Show Then
xFdItem = xDl& .SelectedItems(1) amp; ""
Else
Exit Sub
End If
Wb.XmlMaps("Report_Map").Export url:= _
xFdItem amp; left(Wb.Name, Len(Wb.Name) - 5) amp; ".xml"
Комментарии:
1. Это выглядит и работает так, как и должно быть для меня. Большое спасибо! Это хороший и простой фрагмент кода.
2. @Mirza: Рад, что смог помочь!
3. Извини, чувак!! Во-первых, как получить это всплывающее окно, которое дает возможность сохранить мой выходной XML-файл где-нибудь еще? В моем случае было «downloads», но есть ли возможность сделать его динамичным и с возможностью выбора пути к папке?
4. @ FaneDuru ха-ха =) когда у вас будет время, сейчас это не очень важно. управляйте безопасно
5. @Mirza: Да, это так. Я адаптирую свой код ответа… Адаптировано.