我怎样才能让我的工作簿在某个date到期?
我发出一些工作试卷,虽然这些工作表在某些时候会类似于真实的东西,所以我不希望人们在几年内使用它们。
我想我的代码删除活动工作簿中的工作表的内容,因为这工作表作为validation,如果我删除将停止访问工作簿。
Private Sub Workbook_Open() Dim MyDate As Date Dim Today As Date MyDate = #1/5/2015# Today = Now() If ActiveWorkbook = Workbooks("SALARY CALCULATOR BETA1.xlsm") Then If Today > MyDate Then Worksheets("Lock").Range("A1:T115").Select Selection.Clear End If End If End Sub
代码返回“对象不支持对象或属性”
你不能只比较两个对象(你的情况下的工作簿)。 尝试比较他们的名字。
所以,而不是:
If ActiveWorkbook = Workbooks("SALARY CALCULATOR BETA1.xlsm") Then
用这个:
If ActiveWorkbook.Name = "SALARY CALCULATOR BETA1.xlsm" Then
或者,为了避免重命名混淆,请使用以下命令:
If ActiveWorkbook.Name = ThisWorkbook.Name Then
ThisWorkbook总是意味着运行macros的工作簿(基本上意味着包含macros的工作簿)。
编辑
这是一个适用于我的单线程:
Private Sub Workbook_Open() If Date > #1/5/2016# Then Worksheets("Lock").Range("A1:T115").Clear End Sub