首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何仅在"Save-as“上运行excel VBA中的宏,而不是在正常的”保存“上运行宏

如何仅在"Save-as“上运行excel VBA中的宏,而不是在正常的”保存“上运行宏
EN

Stack Overflow用户
提问于 2022-04-05 06:11:38
回答 2查看 143关注 0票数 1

我有一个工作的表格,我每天更新和电子邮件。我打开一个主表单(“第三班帕斯登报告”),并在每天离开前将其单独保存为按日期分隔的副本(“第三班报告”2022-01-19")。

表单中充满了基于日的自动更新的公式,并且基于工作簿中其他工作表的刺激,所以我添加了一个宏来将范围内的所有公式转换为它们的值。

在将表单保存为每日文件之前,我希望运行此宏,但在简单地更新和保存主文件时则不这样做。那是我能做的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-05 13:38:34

关闭工作簿前运行宏

  • 预期您将SaveAs作为备份。只有在关闭备份时,IF(StrComp...才会注意到不同的文件名,并且宏将在关闭前再次运行,备份将再次保存。
  • 有点笨拙,但它应该确保原始文件的安全性。
  • 的问题是,BeforeSave的问题是您可以执行If SaveAsUI = True Then,但是您也可以不小心地对原始代码执行SaveAs,并将其销毁。我认为这太冒险了。--

代码语言:javascript
复制
Option Explicit

Private ClosingBackup As Boolean

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    
    Const sFileName As String = "Passdown Report 3rd Shift.xlsm"
    
    If Not ClosingBackup Then
        With Me
            ' Compare if you're closing the original or the backup.
            If StrComp(.Name, sFileName, vbTextCompare) <> 0 Then ' backup
                MyMacro
                ClosingBackup = True
                ' Here it will again call this sub but will exit because
                ' 'ClosingBackup' is set to True ('If Not ClosingBakup Then').
                .Close SaveChanges:=True
            'Else ' ClosingBackup = False i.e. closing the original; do nothing
            End If
        End With
    'Else ' ClosingBackup = True; closing the backup which was saved; do nothing
    End If

End Sub
票数 2
EN

Stack Overflow用户

发布于 2022-04-05 06:27:16

您可以在您的BeforeSave上使用函数ThisWorkbook。

代码语言:javascript
复制
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI then
    'Your code
    end if
End Sub

在microsoft文档中,在SaveAs的弹出窗口中,将执行这段代码,标志SaveAsUI为true。

https://learn.microsoft.com/en-us/office/vba/api/excel.workbook.beforesave

注意:如果要保存宏,则需要将其设置为.xlsm文件.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71747005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档