【问题标题】:Macro-enabled workbook saved to wrong folder启用宏的工作簿保存到错误的文件夹
【发布时间】:2016-01-25 16:52:43
【问题描述】:

当我使用以下代码时:

  1. 保存启用宏的工作簿
  2. 与打开的工作簿位于同一文件夹中

它确实以错误的名称将文件保存在桌面上:

Sub Save_New_MacroEnabledFile()

    Dim thisWb As Workbook

    Set thisWb = ActiveWorkbook
    Worksheets("Sheet_with_VBA_Button").Activate
    ActiveWorkbook.SaveAs Filename:=thisWb.Path & Sheets("Sheet_with_NewFile's_Name").Range("A2"), FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, Password:=vbNullString, WriteResPassword:=vbNullString, _
        ReadOnlyRecommended:=False, CreateBackup:=False

End Sub

我做错了什么?

【问题讨论】:

    标签: excel vba path save directory


    【解决方案1】:

    您在创建新文件路径时没有添加斜线。

    您拥有此文件的文件夹可能在桌面上,并且没有斜线,它只是将文件名附加到文件夹名,即 文件夹是:

    C:\Users\Antoine\Desktop\Folder
    

    在不带斜线的情况下附加文件名后,就像:

    C:\Users\Antoine\Desktop\Folderfilename.xlsx
    

    试试这个代码:

    Sub Save_New_MacroEnabledFile()
        Dim thisWb As Workbook
        Dim fileName As String
    
        Set thisWb = ActiveWorkbook
        Worksheets("Sheet_with_VBA_Button").Activate
    
        Application.DisplayAlerts = False
        fileName = thisWb.Path & "\" & Sheets("Sheet_with_NewFile's_Name").Range("A2") & VBA.IIf(Right(fileName, 5) = ".xlsm", "", ".xlsm")
    
        ActiveWorkbook.SaveAs fileName:=fileName, _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:=vbNullString, WriteResPassword:=vbNullString, _
            ReadOnlyRecommended:=False, CreateBackup:=False
        Application.DisplayAlerts = True
    
    End Sub
    

    【讨论】:

    • 成功了!太感谢了!! "& VBA.IIf(Right(fileName, 5) = ".xlsm", "", ".xlsm")" 有什么作用?
    • 如果您没有将文件扩展名“.xlsm”包含在单元格 A2 的文件名中,它会添加它。
    • 明白。非常便利。谢谢你米尔克!
    猜你喜欢
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多