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

时间:2013-08-29 09:26:48

标签: excel vba excel-vba save

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

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

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

2 个答案:

答案 0 :(得分: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

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

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

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

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

答案 1 :(得分:1)

好的,当时在朋友的帮助下完成了它,代码看起来像这样。

Sub Saving()

Dim part1 As String

Dim part2 As String


part1 = Range("C5").Value

part2 = Range("C8").Value


ActiveWorkbook.SaveAs Filename:= _

"C:\-docs\cmat\Desktop\pieteikumi\" & part1 & " " & part2 & ".xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End Sub

如何编辑此部分(FileFormat:= _ xlOpenXMLWorkbookMacroEnabled)以保存为Excel 97-2013工作簿,尝试了多种变体但没有成功。 三江源

似乎,我找到了解决方案,但我的想法是有缺陷的。通过执行此FileFormat:= _ xlOpenXMLWorkbook,它会弹出一个弹出窗口,说明您无法将此工作簿保存为未启用Macro的文件。那么,这不可能吗?