首页 > 解决方案 > 如何使用另存为功能?

问题描述

我试图在执行宏时将我的工作簿保存为启用宏的工作簿。启动宏时,将填充用户窗体,用户可以在其中选择 FiscalYear、FormYear 和 FormMonth。分开年份的原因是因为 FiscalYear 将从 10 月开始。10 月将是第 18 年,但它将从 FY19 开始。

我正在尝试将 FiscalYear 的值插入到我的 SaveAs 函数中。文件路径在我使用 FiscalYear 后停止,并将路径中的剩余字符串放在我希望工作簿保存为的 DocName 前面:

路径 "J:\x\y\z\FY" & FiscalYear & "\Templates FY" & FiscalYear DocName:"G22 Dashboard & " " & FormMonth & " " & "FY" & FiscalYear

该文档将在“FY & FiscalYear &”位置保存为“Templates FY18G22 Dashboard &”“FormMonth &“”&“FY”&FiscalYear

有什么建议可以告诉我在这种情况下我做错了什么?可能是菜鸟的错误,但任何帮助将不胜感激,谢谢!

我尝试了不同的语法策略(使用“”位置和添加/删除)。

Sub Save_Report_As()

'Disabling Display Alerts
Application.DisplayAlerts = False
Application.ScreenUpdating = False

Path = "J:\x\y\z\FY" & FiscalYear & "\Templates FY" & FiscalYear
DocName = "G22 Dashboard" & " " & FormMonth & " " & "FY" & FiscalYear

ActiveWorkbook.SaveAs filename:=Path & DocName, FileFormat:=52

'Enabling Display Alerts
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

标签: excelvba

解决方案


将我的评论作为答案发布,因此这将停止显示在“未答复”列表中:

path & "\" & docname & ".xlsx"会更合适......你省略了 path\docname 和扩展名之间的 "\" (@RyanWildry 也捕获了扩展名)


推荐阅读