![]() |
How to program a code to die
There are a few instances when, for good reason, I need to have a code to "expire" after a certain date. I have resorted to a workaround using Worksheet_Open event which immobilizes the code at a set date. But surely, there must be a nifty way of going about it-perhaps using Application.Kill ... but I can't get my head around it. I appreciate any help. -- davidm ------------------------------------------------------------------------ davidm's Profile: http://www.excelforum.com/member.php...o&userid=20645 View this thread: http://www.excelforum.com/showthread...hreadid=480988 |
How to program a code to die
I am following up on my post which seems to have slipped out of traffic. Thanks in advance of any help. David -- davidm ------------------------------------------------------------------------ davidm's Profile: http://www.excelforum.com/member.php...o&userid=20645 View this thread: http://www.excelforum.com/showthread...hreadid=480988 |
How to program a code to die
Hi davidm, this may be something you are looking for..found after a
quick search of this ng.... Be careful with it... it will delete all the code you have written. Option Explicit Public Sub DeleteAllVBA() Dim vbComp As Object For Each vbComp In ActiveWorkbook.VBProject.VBComponents With vbComp If .Type = 100 Then .CodeModule.DeleteLines 1, .CodeModule.CountOfLines Else ActiveWorkbook.VBProject.VBComponents.Remove vbComp End If End With Next vbComp End Sub Public Sub DeleteAllVBA() For Each book In Workbooks If book.Name < ThisWorkbook.Name Then Dim vbComp As Object For Each vbComp In ActiveWorkbook.VBProject.VBComponents With vbComp If .Type = 100 Then ..CodeModule.DeleteLines 1, .CodeModule.CountOfLines Else ActiveWorkbook.VBProject.VBComponents.Remove vbComp End If End With Next vbComp End If Next book End Sub Here'a another one you may want to play with, as you can pick the module to delete Sub deletemodule() MsgBox "place your code here" With ThisWorkbook.VBProject.VBComponents .Remove .Item("Module1") End With End Sub Hope these help ste davidm wrote: I am following up on my post which seems to have slipped out of traffic. Thanks in advance of any help. David -- davidm ------------------------------------------------------------------------ davidm's Profile: http://www.excelforum.com/member.php...o&userid=20645 View this thread: http://www.excelforum.com/showthread...hreadid=480988 |
How to program a code to die
Thanks Mac. Unfortunately, the idea is not just to delete the code. I need the procedure to self-destruct after a specified date. I have since my last post been able to come up with the following which serves the purpose. (The message boxes are for debugging only and may not be required in actual application). Sub CodeToExpireAfterDateA() Dim x As Date x = #11/05/2008# If x Now() Then MsgBox "Code is alive" 'optional Call TimedCode Else MsgBox "Code has passed used-by date" 'optional Exit Sub End If End Sub The routine of course returns "Code is alive" in this instance and calls up "TimedCode". But run after midnight of 11/05/2008, the 2nd message should be returned and the procedure exited. David David -- davidm ------------------------------------------------------------------------ davidm's Profile: http://www.excelforum.com/member.php...o&userid=20645 View this thread: http://www.excelforum.com/showthread...hreadid=480988 |
All times are GMT +1. The time now is 12:02 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com