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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/18507042/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-08 16:31:17  来源:igfitidea点击:

Saving Excel workbook to constant path with filename from two fields

excelvbasave

提问by Martins Atvars

I tried to search and put together a code to fit my purpose.

我试图搜索并整理一个代码来满足我的目的。

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

How to edit this to: Instead of naming the saved file ck.xls, generate the filename from the worksheet cells C5 and C8, with a space in the middle.

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

回答by

try

尝试

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

If you want to save the workbook with the macros use the below code

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

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

if you want to save workbook with no macros and no pop-up use this

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

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

回答by Martins Atvars

Ok, at that time got it done with the help of a friend and the code looks like this.

好的,当时在朋友的帮助下完成了,代码是这样的。

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

How do I edit this part (FileFormat:= _ xlOpenXMLWorkbookMacroEnabled) for it to save as Excel 97-2013 Workbook, have tried several variations with no success. Thankyou

如何编辑此部分 (FileFormat:= _ xlOpenXMLWorkbookMacroEnabled) 以将其另存为 Excel 97-2013 工作簿,已尝试多种变体但均未成功。谢谢

Seems, that I found the solution, but my idea is flawed. By doing this FileFormat:= _ xlOpenXMLWorkbook, it drops out a popup saying, the you cannot save this workbook as a file without Macro enabled. So, is this impossible?

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