创建一个MS Excel文件,当到达某个时间或日期时,该文件会自动删除

创建一个MS Excel文件,当到达某个时间或日期时,该文件会自动删除,excel,vba,Excel,Vba,关于MS Excel,我想知道如何创建Excel文件,当到达某个日期或时间时,该文件将从计算机中删除 可能吗?如果是,请告诉我怎么做?您可以在将来的某个特定时间调用函数DoSomething,或者通过调用Activate\u timer指定时间间隔,但我认为您不能直接从VBA中删除工作簿。您可以尝试调用DoSomething函数some,该函数首先关闭书本,然后将其删除 Sub Activate_timer() ' at a certain time in the future 'A

关于MS Excel,我想知道如何创建Excel文件,当到达某个日期或时间时,该文件将从计算机中删除


可能吗?如果是,请告诉我怎么做?

您可以在将来的某个特定时间调用函数
DoSomething
,或者通过调用
Activate\u timer
指定时间间隔,但我认为您不能直接从VBA中删除工作簿。您可以尝试调用
DoSomething
函数some,该函数首先关闭书本,然后将其删除

Sub Activate_timer()
   ' at a certain time in the future
   'Application.OnTime DateSerial(2014,01,01)+TimeSerial(0,0,0), "DoSomething"
   ' or by specifying the time interval
   Application.OnTime Now + TimeValue("01:40:00"), "DoSomething"
End Sub

Sub DoSomething()
   'call the batch file
End Sub

如果将此代码添加到
ThisWorkbook
模块,则如果当前日期晚于2014年1月1日,工作簿将自毁

Private Sub Workbook_Open()
If Now() > #1/1/2014# Then Call SuicideSub
End Sub
"


先生,谢谢您的回复。。。但我不想从VBA调用这个函数。这个函数可以写在文件中吗?我不确定我是否理解你的意思,但是VBA集成在MS Excel中,因此当你创建新的Excel文件时,你可以在其中添加一个附加功能,在其中写入VBA代码(有些人称之为“编写宏”)。所以,如果您想编写vba函数(宏),应该直接在excel文件中编写(正如您所说,“此函数将在文件本身中编写”)。在本文中,您可以获得有关在Excel中使用VBA的更多信息:@simoco是的,您可以直接从同一工作簿的VBA内部删除工作簿,请参见下文。是否有任何调整此选项以访问VBA的建议?@110SidedHexagon是否从Access中删除Excel工作簿?还是access数据库?
Sub SuicideSub()
'courtesy Tom Ogilvy
With ThisWorkbook
.Saved = True
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
End Sub