ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How to program a code to die (https://www.excelbanter.com/excel-programming/344560-how-program-code-die.html)

davidm

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


davidm

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


ste mac

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



davidm

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