[英]Change the protection of a workbook based on save location / filename
我有一本標記為final的工作簿,但我希望用戶能夠復制一份不是final的工作簿。 但是我不知道如何做到這一點。
我當時想將以下代碼放入工作簿的ThisWorkbook
模塊中,但我很猶豫,因為如果不再次保存工作簿,所做的更改將不會保留,並且如果我將其放入ThisWorkbook.Save
那里,工作簿將被保存每次用戶保存工作簿兩次(至少,我想我必須先禁用事件才能再次保存?)。
Option Explicit
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
If ThisWorkbook.FullName = "<full name of the original>" Then
ThisWorkbook.Final = True
Else
ThisWorkbook.Final = False
End If
End Sub
你們對更優雅的解決方案有什么建議嗎?
在模塊中添加此功能,以確定工作簿是否為最終工作簿:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.