VBA:使用带有时间戳的预定义文件名保存导出的XML



所以我可以让它在导出XML的地方工作:

Sub ExportXML()
'
' ExportXML Macro
'
Application.CommandBars.ExecuteMso ("XmlExport")
'
End Sub

这是有效的,以保存实际的Excel文档与特定的预定义位置("C:....")和名称(值从单元格A10)与时间戳:

Sub SaveMyWorkbook()
    Dim vFile As Variant
    Dim sCurrDir As String
    Dim sName As Variant
    Dim strdate As String
    sName = [A10] 'value from A1
    strdate = Format(Now, "dd-mm-yy h-mm-ss")
    ' save current directory, and change to desired starting directory
    sCurrDir = CurDir
    ChDrive "C:....."
    ChDir "C:....."
    vFile = Application.GetSaveAsFilename(InitialFileName:=sName & strdate, _
        fileFilter:="Excel files (*.xls), *.xls", _
        Title:="My custom save dialog")
    If vFile <> False Then
        ThisWorkbook.SaveAs Filename:=vFile
    Else
        MsgBox "Not a valid path" 'cancel
    End If
    ' change back to initial current directory
    ChDrive sCurrDir
    ChDir sCurrDir
End Sub

但我希望有出口运行,并为它保存到特定的预定义位置("C:....")和名称(值从单元格A10)与时间戳。任何想法吗?

谢谢!

所以我能算出来。我没有使用命令来点击功能区按钮,而是找到了导出XML的实际命令。

Sub ExportXML()
'
' ExportXML Macro
'
Dim objMapToExport As XmlMap
 Set objMapToExport = ActiveWorkbook.XmlMaps("DocumentRequests_Map")
 ActiveWorkbook.SaveAsXMLData [c12] & [c9] & Format(Now, "dd-mm-yy h-mm-ss") & ".xml", objMapToExport

'This opens the folder so you can see the saved file
Call Shell("explorer.exe" & " " & [c12], vbNormalFocus)
'
End Sub

最新更新