根据保存位置/文件名

时间:2018-06-13 05:37:20

标签: excel vba excel-vba excel-2016

我有一个我已经标记为final的工作簿,但我希望用户能够复制哪些不是最终的。但是我无法弄清楚如何做到这一点。

我正在考虑将以下代码放在工作簿的ThisWorkbook - 模块中,但我犹豫不决,因为如果不再保存工作簿,所做的更改将不会成功,如果我输入{{ 1}}每次用户保存工作簿时,工作簿将被保存两次(至少,我认为我必须在保存之前禁用事件吗?)。

ThisWorkbook.Save

你们对更优雅的解决方案有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在模块中添加此函数以确定工作簿是否为最终工作簿:

Option Explicit

Public Function IsAWorkbookFinal() As Boolean

    Dim wb As ThisWorkbook
    Set wb = ThisWorkbook

    Dim final_wb As String
    final_wb = "C:\test\final\test_wb_save.xlsm" 'adapt with fullname of final workbook

        If wb.FullName = final_wb Then
            IsAWorkbookFinal = True
        Else
            IsAWorkbookFinal = False
        End If

End Function