SaveAs期间如何保留原始工作簿

Posted

技术标签:

【中文标题】SaveAs期间如何保留原始工作簿【英文标题】:How to retain the original workbook during SaveAs 【发布时间】:2016-06-21 14:10:37 【问题描述】:

我正在尝试保留打开的原始工作簿并关闭所有其他已保存(以不同名称保存)的文件而不重新打开。我正在通过单击按钮执行 SaveAs。对此有何建议?

sub save()
     Application.DisplayAlerts= False 
     FileName1 = Range("D4")
     ActiveWorkbook.SaveCopyAs FileName:="C:\Users\felonj\Desktop\list\" & FileName1 & "-" & "Audit checklist" & ".xlsm"
     MsgBox "File Saved successfully!", , "Save"

    Application.DisplayAlerts = True

End sub 

【问题讨论】:

【参考方案1】:

如果我必须使用您的代码,请尝试以下操作:

Option Explicit

Sub save()

    Dim obj_wb As Object

    Set obj_wb = ThisWorkbook

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveCopyAs Filename:=ActiveWorkbook.Path & "Audit checklist" & ".xlsm"
    MsgBox "File Saved successfully!", , "Save"
    Debug.Print obj_wb.Name
    Application.DisplayAlerts = True

    Set obj_wb = Nothing

End Sub

obj_wb 是旧文件,可通过此变量访问。使用“ThisWorkbook”而不是“ActiveWorkbook”可能是个好主意。或者将其始终作为变量引用,并且根本不使用其中任何一个。

【讨论】:

很高兴我能帮上忙。您可以通过单击旁边的绿色复选标记将我的答案标记为已接受。

以上是关于SaveAs期间如何保留原始工作簿的主要内容,如果未能解决你的问题,请参考以下文章

Saveas 后删除单元格内容

如何在打开的工作簿中禁用 SaveAs 但不禁用 Save

对象'_Workbook'的方法'SaveAs'失败VBA

Workbook.SaveAs 使 Excel 与某些工作簿而非其他工作簿一起崩溃

VSTO SaveAs 文件被锁定

vba:以 xlsm 文件格式保存而不更改活动工作簿