Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Try-before-you-buy version?
Hi folks
I have produced a complex spreadsheet (medical application) that is now available for sale at a modest price. It contains some VBA, but not much. I am not an expert, but have made extensive use of Excel's built-in functions for curve fitting, graph ploting etc. A colleague in another (UK) hospital has asked about an 'evaluation version'. Is there a standard way of producing a spreadsheet that has all the basic functionality to allow a user to decide whether it works properly etc, but with something key missing (that would prompt them to buy the full version!)? Time-out after (say) 30 days. I seem to recall that this is not straightforward Somehow disable the sheet | print function? Any other ideas? I am using Excel 2003. My development machine still has Windows 2000, but most potential users will have XP. Thanks for you help. Philip |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Try-before-you-buy version?
You can do various things, but all of them are pointless if faced by someone
who intends to crack it as Excel security is laughably weak. I haven't used it with VBA myself, but the author assures me that http://www.thescarms.com/appsentinel/default.asp the functionality does extend to VBA, but of course you need to buy it. -- HTH Bob Phillips (remove nothere from email address if mailing direct) "Phil C" wrote in message ... Hi folks I have produced a complex spreadsheet (medical application) that is now available for sale at a modest price. It contains some VBA, but not much. I am not an expert, but have made extensive use of Excel's built-in functions for curve fitting, graph ploting etc. A colleague in another (UK) hospital has asked about an 'evaluation version'. Is there a standard way of producing a spreadsheet that has all the basic functionality to allow a user to decide whether it works properly etc, but with something key missing (that would prompt them to buy the full version!)? Time-out after (say) 30 days. I seem to recall that this is not straightforward Somehow disable the sheet | print function? Any other ideas? I am using Excel 2003. My development machine still has Windows 2000, but most potential users will have XP. Thanks for you help. Philip |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Try-before-you-buy version?
Not sure it is worth the trouble, but your best bet may be this:
Move some part of your VBA code to a VB6 ActiveX dll. This has to be essential code and also not too simple otherwise people could just code around it in VBA. You don't have to have VB6, somebody could make it for you. People wanting to buy your software then need to send you some unique identifier related to their hardware, for example the HD Volume serial number. From this information you then make a licence file with in it this encrypted HD Volume serial number. The ActiveX dll will then read this information from the PC's HD and see if it matches the encrypted data in the licence file. If it matches fine, if not it will exit and the software can't work. You could incoorporate a date in the licence file as well if you want them to pay every year for example. If you are not familiar with these things you could for example do it via Rent A Coder. It would be much easier to do it all in VBA, but as said it will be easy to crack. RBS "Phil C" wrote in message ... Hi folks I have produced a complex spreadsheet (medical application) that is now available for sale at a modest price. It contains some VBA, but not much. I am not an expert, but have made extensive use of Excel's built-in functions for curve fitting, graph ploting etc. A colleague in another (UK) hospital has asked about an 'evaluation version'. Is there a standard way of producing a spreadsheet that has all the basic functionality to allow a user to decide whether it works properly etc, but with something key missing (that would prompt them to buy the full version!)? Time-out after (say) 30 days. I seem to recall that this is not straightforward Somehow disable the sheet | print function? Any other ideas? I am using Excel 2003. My development machine still has Windows 2000, but most potential users will have XP. Thanks for you help. Philip |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Try-before-you-buy version?
Bob .. and RBS
Thanks for your responses. The sort of people on the receiving end are not the types with the time or inclination to crack software security systems, however weak. This only needs to be 'token security' to fulfill its purpose (i.e. clearly demonstarte that it is not the release version). AppsSentinel sounds like it would do the job (I don't want to invest much time on this, as I may not get many more requests for an evaluation copy!), so may invest in the Lite version ($70) to find out.. Philip "Bob Phillips" wrote in message ... You can do various things, but all of them are pointless if faced by someone who intends to crack it as Excel security is laughably weak. I haven't used it with VBA myself, but the author assures me that http://www.thescarms.com/appsentinel/default.asp the functionality does extend to VBA, but of course you need to buy it. -- HTH Bob Phillips (remove nothere from email address if mailing direct) "Phil C" wrote in message ... Hi folks I have produced a complex spreadsheet (medical application) that is now available for sale at a modest price. It contains some VBA, but not much. I am not an expert, but have made extensive use of Excel's built-in functions for curve fitting, graph ploting etc. A colleague in another (UK) hospital has asked about an 'evaluation version'. Is there a standard way of producing a spreadsheet that has all the basic functionality to allow a user to decide whether it works properly etc, but with something key missing (that would prompt them to buy the full version!)? Time-out after (say) 30 days. I seem to recall that this is not straightforward Somehow disable the sheet | print function? Any other ideas? I am using Excel 2003. My development machine still has Windows 2000, but most potential users will have XP. Thanks for you help. Philip |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Try-before-you-buy version?
Philip,
Before you spend your $70, and on the basis of the type of users you have, try this approach first. Private Sub Workbook_Open() Const sEDName As String = "__ExpiryDate" Const nEvalPeriod As Long = 30 Dim ExpiryDate As Date Dim sDate As String On Error Resume Next ExpiryDate = Evaluate(ThisWorkbook.Names(sEDName).RefersTo) On Error GoTo 0 If ExpiryDate = 0 Then ThisWorkbook.Names.Add Name:=sEDName, _ RefersTo:=Date + nEvalPeriod ThisWorkbook.Names(sEDName).Visible = False ThisWorkbook.Save Else If ExpiryDate < Date Then ThisWorkbook.Close savechanges:=False End If End If End Sub 'This is workbook event code. 'To input this code, right click on the Excel icon on the worksheet '(or next to the File menu if you maximise your workbooks), 'select View Code from the menu, and paste the code -- HTH Bob Phillips (remove nothere from email address if mailing direct) "Phil C" wrote in message ... Bob .. and RBS Thanks for your responses. The sort of people on the receiving end are not the types with the time or inclination to crack software security systems, however weak. This only needs to be 'token security' to fulfill its purpose (i.e. clearly demonstarte that it is not the release version). AppsSentinel sounds like it would do the job (I don't want to invest much time on this, as I may not get many more requests for an evaluation copy!), so may invest in the Lite version ($70) to find out.. Philip "Bob Phillips" wrote in message ... You can do various things, but all of them are pointless if faced by someone who intends to crack it as Excel security is laughably weak. I haven't used it with VBA myself, but the author assures me that http://www.thescarms.com/appsentinel/default.asp the functionality does extend to VBA, but of course you need to buy it. -- HTH Bob Phillips (remove nothere from email address if mailing direct) "Phil C" wrote in message ... Hi folks I have produced a complex spreadsheet (medical application) that is now available for sale at a modest price. It contains some VBA, but not much. I am not an expert, but have made extensive use of Excel's built-in functions for curve fitting, graph ploting etc. A colleague in another (UK) hospital has asked about an 'evaluation version'. Is there a standard way of producing a spreadsheet that has all the basic functionality to allow a user to decide whether it works properly etc, but with something key missing (that would prompt them to buy the full version!)? Time-out after (say) 30 days. I seem to recall that this is not straightforward Somehow disable the sheet | print function? Any other ideas? I am using Excel 2003. My development machine still has Windows 2000, but most potential users will have XP. Thanks for you help. Philip |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Try-before-you-buy version?
Or another way, with a password on the VBAProject:
Option Explicit Private bOutTrialPeriod As Boolean Sub TestTrial() With ThisWorkbook.VBProject.VBComponents("Module1").Cod eModule If .Find("'", _ 5, _ 1, _ 5, _ 2, _ False, _ True) = False Then 'marking the first date the WB was used '-------------------------------------- .ReplaceLine 5, "'" & CLng(Date) ThisWorkbook.Save Else If CLng(Date) - CLng(Replace(Trim(.Lines(5, 1)), _ "'", _ "", _ 1, _ 1, _ vbBinaryCompare)) 30 Then 'more than 30 usage of WB, so out of trial period '------------------------------------------------ bOutTrialPeriod = True End If End If End With End Sub The variable bOutTrialPeriod can then be used for whatever way to make the WB more or less unusable, ranging from a nagging message to making it close. Note that this doesn't need a reference to Microsoft Visual Basic for Applications Extensibility RBS "Bob Phillips" wrote in message ... Philip, Before you spend your $70, and on the basis of the type of users you have, try this approach first. Private Sub Workbook_Open() Const sEDName As String = "__ExpiryDate" Const nEvalPeriod As Long = 30 Dim ExpiryDate As Date Dim sDate As String On Error Resume Next ExpiryDate = Evaluate(ThisWorkbook.Names(sEDName).RefersTo) On Error GoTo 0 If ExpiryDate = 0 Then ThisWorkbook.Names.Add Name:=sEDName, _ RefersTo:=Date + nEvalPeriod ThisWorkbook.Names(sEDName).Visible = False ThisWorkbook.Save Else If ExpiryDate < Date Then ThisWorkbook.Close savechanges:=False End If End If End Sub 'This is workbook event code. 'To input this code, right click on the Excel icon on the worksheet '(or next to the File menu if you maximise your workbooks), 'select View Code from the menu, and paste the code -- HTH Bob Phillips (remove nothere from email address if mailing direct) "Phil C" wrote in message ... Bob .. and RBS Thanks for your responses. The sort of people on the receiving end are not the types with the time or inclination to crack software security systems, however weak. This only needs to be 'token security' to fulfill its purpose (i.e. clearly demonstarte that it is not the release version). AppsSentinel sounds like it would do the job (I don't want to invest much time on this, as I may not get many more requests for an evaluation copy!), so may invest in the Lite version ($70) to find out.. Philip "Bob Phillips" wrote in message ... You can do various things, but all of them are pointless if faced by someone who intends to crack it as Excel security is laughably weak. I haven't used it with VBA myself, but the author assures me that http://www.thescarms.com/appsentinel/default.asp the functionality does extend to VBA, but of course you need to buy it. -- HTH Bob Phillips (remove nothere from email address if mailing direct) "Phil C" wrote in message ... Hi folks I have produced a complex spreadsheet (medical application) that is now available for sale at a modest price. It contains some VBA, but not much. I am not an expert, but have made extensive use of Excel's built-in functions for curve fitting, graph ploting etc. A colleague in another (UK) hospital has asked about an 'evaluation version'. Is there a standard way of producing a spreadsheet that has all the basic functionality to allow a user to decide whether it works properly etc, but with something key missing (that would prompt them to buy the full version!)? Time-out after (say) 30 days. I seem to recall that this is not straightforward Somehow disable the sheet | print function? Any other ideas? I am using Excel 2003. My development machine still has Windows 2000, but most potential users will have XP. Thanks for you help. Philip |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
Try-before-you-buy version?
Forgot to say run TestTrial from the Workbook_Open event.
RBS "RB Smissaert" wrote in message ... Or another way, with a password on the VBAProject: Option Explicit Private bOutTrialPeriod As Boolean Sub TestTrial() With ThisWorkbook.VBProject.VBComponents("Module1").Cod eModule If .Find("'", _ 5, _ 1, _ 5, _ 2, _ False, _ True) = False Then 'marking the first date the WB was used '-------------------------------------- .ReplaceLine 5, "'" & CLng(Date) ThisWorkbook.Save Else If CLng(Date) - CLng(Replace(Trim(.Lines(5, 1)), _ "'", _ "", _ 1, _ 1, _ vbBinaryCompare)) 30 Then 'more than 30 usage of WB, so out of trial period '------------------------------------------------ bOutTrialPeriod = True End If End If End With End Sub The variable bOutTrialPeriod can then be used for whatever way to make the WB more or less unusable, ranging from a nagging message to making it close. Note that this doesn't need a reference to Microsoft Visual Basic for Applications Extensibility RBS "Bob Phillips" wrote in message ... Philip, Before you spend your $70, and on the basis of the type of users you have, try this approach first. Private Sub Workbook_Open() Const sEDName As String = "__ExpiryDate" Const nEvalPeriod As Long = 30 Dim ExpiryDate As Date Dim sDate As String On Error Resume Next ExpiryDate = Evaluate(ThisWorkbook.Names(sEDName).RefersTo) On Error GoTo 0 If ExpiryDate = 0 Then ThisWorkbook.Names.Add Name:=sEDName, _ RefersTo:=Date + nEvalPeriod ThisWorkbook.Names(sEDName).Visible = False ThisWorkbook.Save Else If ExpiryDate < Date Then ThisWorkbook.Close savechanges:=False End If End If End Sub 'This is workbook event code. 'To input this code, right click on the Excel icon on the worksheet '(or next to the File menu if you maximise your workbooks), 'select View Code from the menu, and paste the code -- HTH Bob Phillips (remove nothere from email address if mailing direct) "Phil C" wrote in message ... Bob .. and RBS Thanks for your responses. The sort of people on the receiving end are not the types with the time or inclination to crack software security systems, however weak. This only needs to be 'token security' to fulfill its purpose (i.e. clearly demonstarte that it is not the release version). AppsSentinel sounds like it would do the job (I don't want to invest much time on this, as I may not get many more requests for an evaluation copy!), so may invest in the Lite version ($70) to find out.. Philip "Bob Phillips" wrote in message ... You can do various things, but all of them are pointless if faced by someone who intends to crack it as Excel security is laughably weak. I haven't used it with VBA myself, but the author assures me that http://www.thescarms.com/appsentinel/default.asp the functionality does extend to VBA, but of course you need to buy it. -- HTH Bob Phillips (remove nothere from email address if mailing direct) "Phil C" wrote in message ... Hi folks I have produced a complex spreadsheet (medical application) that is now available for sale at a modest price. It contains some VBA, but not much. I am not an expert, but have made extensive use of Excel's built-in functions for curve fitting, graph ploting etc. A colleague in another (UK) hospital has asked about an 'evaluation version'. Is there a standard way of producing a spreadsheet that has all the basic functionality to allow a user to decide whether it works properly etc, but with something key missing (that would prompt them to buy the full version!)? Time-out after (say) 30 days. I seem to recall that this is not straightforward Somehow disable the sheet | print function? Any other ideas? I am using Excel 2003. My development machine still has Windows 2000, but most potential users will have XP. Thanks for you help. Philip |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
How do I save an Excel 97-2003 version or 2007 version for Mac 200 | Excel Discussion (Misc queries) | |||
Chart from version 2003 to version 2007 | Charts and Charting in Excel | |||
Wrap Text: Print Version different than Screen Version | Excel Discussion (Misc queries) | |||
Help Required!!! Macro to load data from version 1 to version 2 | Excel Worksheet Functions | |||
Recover earlier version of excel sheet after new version saved? | Excel Discussion (Misc queries) |