使用2个字段的文件名将Excel工作簿保存到常量路径

Mar*_*ars 6 excel vba save excel-vba

我是Excel宏的新手,我试图搜索并整理一个符合我目的的代码,但没有运气.我希望有人慷慨地帮助我.

Sub save()
ActiveWorkbook.SaveAS Filename:="C:\-docs\cmat\Desktop\New folder\ck.xls", FileFormat:= _
  xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
 , CreateBackup:=False
End Sub
Run Code Online (Sandbox Code Playgroud)

如何编辑它:不是命名保存的文件ck.xls,而是从工作表单元格C5和C8生成文件名,中间有一个空格.

小智 8

尝试

Sub save()
ActiveWorkbook.SaveAS Filename:="C:\-docs\cmat\Desktop\New folder\" & Range("C5").Text & chr(32) & Range("C8").Text &".xls", FileFormat:= _
  xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
 , CreateBackup:=False
End Sub
Run Code Online (Sandbox Code Playgroud)

如果要使用宏保存工作簿,请使用以下代码

Sub save()
ActiveWorkbook.SaveAs Filename:="C:\Users\" & Environ$("username") & _
    "\Desktop\" & Range("C5").Text & Chr(32) & Range("C8").Text & ".xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, Password:=vbNullString, WriteResPassword:=vbNullString, _
    ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
Run Code Online (Sandbox Code Playgroud)

如果你想保存没有宏的工作簿而没有弹出窗口,请使用它

Sub save()
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:="C:\Users\" & Environ$("username") & _
    "\Desktop\" & Range("C5").Text & Chr(32) & Range("C8").Text & ".xls", _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    Application.DisplayAlerts = True
End Sub
Run Code Online (Sandbox Code Playgroud)

  • 关于保存这样的文件还有一件事.您声明的路径必须存在,否则根本不会保存. (2认同)