Hallo,
Deze vraag kan op verschillende manieren benaderd worden denk ik, want ik zoek een soort AAN / UIT code.
En begrijp me goed de vraag is volledig gericht op het EXCEL bestand waar mee gewerkt wordt en mag niet de bedoeling hebben om EXCEL te hacken/blokkeren/ te vernaggelen of zoiets.
1. Ik ben aan het proberen een EXCEL programma te maken met VBA code en hierbij wil ik dat het na een bepaalde datum niet meer mogelijk is om de Macro buttons ( dus VBA) te gebruiken. De VBA codes moeten na die datum dus zijn uitgeschakeld. Ik zoek dus iets van code die min of meer zegt:
Als de datum voorbij 1 januari 2015 is, dan werkt de VBA code niet meer.
De code moet ervoor zorgen dat de andere VBA (die gekoppeld is aan macro buttons) niet meer kan worden bereikt ( of wordt uitgeschakeld )
Het 2e deel ( je voelt hem misschien wel aankomen)
Daarna wil ik dat mensen die het programma willen blijven gebruiken, mij moeten benaderen om de buttons weer te kunnen gebruiken.
Dus moet er bijvoorbeeld een ander EXCEL programmaatje worden geopend ( wat ze bij mij kunnen opvragen ) waarbij de datum code drie jaar kan worden opgeschoven. ( een abonnements verlenging als het ware )
============= wat achtergrond informatie =============
Ik heb het bestand zo ingericht dat mensen altijd op dezelfde opstartsheet terecht komen als ze het openen. ( zelfs als ze het zouden "saven" terwijl ze in een andere sheet staan, want men moet altijd terug naar het hoofdsheet om het .xlsm bestand af te kunnen sluiten.)
Het afsluiten kan namelijk alleen maar met een bepaalde button in de vorm van een RODE X op het afsluit sheet en daarmee wordt het bestand ook automatisch gesaved.
Aangezien door middel van VBA code de Ribbon automatisch weg wordt gehaald (en in geval van EXCEL 2003 alle werkbalken) kan men ook sheets niet opnieuw zichtbaar maken en gaan zoeken waar bepaald data verstopt is) en daarnaast heb ik voor gezorgd dat de "normale EXCEL Rode X" niet meer werkt en ook door rechts te klikken op het EXCEL venster in de taakbalk, kun je het bestand niet meer afsluiten.
De enige manier om het bestand af te sluiten is door te navigeren met de Macro buttons tot je op het aflsuitscherm terug bent, en daar staat een button ( in de vorm van een RODE X ) die de Ribbon terugbrengt, ( of alle standaard werkbalken in EXCEL 2003 ) en het bestand afsluit. Kortom binnen de mogelijkheden van EXCEL maximaal beschermd op oneigenlijk / manipulatief gebruik.
De VBA code ( alt + f11 ) is uiteraard ook password protected dus ook de iets betere EXCEL kenner komt ook daar niet in. ( ongetwijfeld zullen er vast wel een paar hackers zijn die het wel kunnen doorbreken, maar dat is dan jammer, ik richt me op de standaard computer gebruiker.)
Het opstartscherm zal vanaf dag 1 aangeven hoelang het programma nog werkt en daaruit kan men gewoon nog met de "RODE EXCEL X " afsluiten of gewoon sluiten (dat valt dus buiten de VBA code)
============= einde informatie =============
Ik heb nu deze code die een nieuwe datum kan plaatsen in het programma,
Het nadeel is dat die code meerdere keren gebruikt kan worden dus tussen gebruikers kan worden uitgewisseld.
Alternatief bedacht:
Dan is de datum weg, maar kan het opgestuurde abbonnements verlengings programma alsnog een 2e keer worden gebruikt als je het opnieuw opent uit de E-mail.
Dus mijn nieuwe probleem wordt waarschijnlijk dat alle nieuwe datums er zelf in moet gaan zetten.
en dan maakt het niet uit welke code ik gebruik.
Maar als iemand daar nog een brilliant idee voor heeft.....
Terug naar het hoofd probleem.
1. Is het mogelijk om de datum in een cel in een EXCEL sheet ( Bijvoorbeeld in Sheet: "START" in Cel "F18" ) te gebruiken om d.m.v. die datum de VBA code te deactiveren?
en als je toch op weg bent
2. is het eventueel mogelijk om 1 sub () ( dus VBA Macro ) te excluden van deze datum actie, zodat die Macro altijd werkt (ongeacht of de datum gepasseerd is.
Ik hoop dat het een beetje duidelijk is.
Alvast bedankt voor het meedenken
BNYMFK
Deze vraag kan op verschillende manieren benaderd worden denk ik, want ik zoek een soort AAN / UIT code.
En begrijp me goed de vraag is volledig gericht op het EXCEL bestand waar mee gewerkt wordt en mag niet de bedoeling hebben om EXCEL te hacken/blokkeren/ te vernaggelen of zoiets.
1. Ik ben aan het proberen een EXCEL programma te maken met VBA code en hierbij wil ik dat het na een bepaalde datum niet meer mogelijk is om de Macro buttons ( dus VBA) te gebruiken. De VBA codes moeten na die datum dus zijn uitgeschakeld. Ik zoek dus iets van code die min of meer zegt:
Als de datum voorbij 1 januari 2015 is, dan werkt de VBA code niet meer.
De code moet ervoor zorgen dat de andere VBA (die gekoppeld is aan macro buttons) niet meer kan worden bereikt ( of wordt uitgeschakeld )
Het 2e deel ( je voelt hem misschien wel aankomen)
Daarna wil ik dat mensen die het programma willen blijven gebruiken, mij moeten benaderen om de buttons weer te kunnen gebruiken.
Dus moet er bijvoorbeeld een ander EXCEL programmaatje worden geopend ( wat ze bij mij kunnen opvragen ) waarbij de datum code drie jaar kan worden opgeschoven. ( een abonnements verlenging als het ware )
============= wat achtergrond informatie =============
Ik heb het bestand zo ingericht dat mensen altijd op dezelfde opstartsheet terecht komen als ze het openen. ( zelfs als ze het zouden "saven" terwijl ze in een andere sheet staan, want men moet altijd terug naar het hoofdsheet om het .xlsm bestand af te kunnen sluiten.)
Het afsluiten kan namelijk alleen maar met een bepaalde button in de vorm van een RODE X op het afsluit sheet en daarmee wordt het bestand ook automatisch gesaved.
Aangezien door middel van VBA code de Ribbon automatisch weg wordt gehaald (en in geval van EXCEL 2003 alle werkbalken) kan men ook sheets niet opnieuw zichtbaar maken en gaan zoeken waar bepaald data verstopt is) en daarnaast heb ik voor gezorgd dat de "normale EXCEL Rode X" niet meer werkt en ook door rechts te klikken op het EXCEL venster in de taakbalk, kun je het bestand niet meer afsluiten.
De enige manier om het bestand af te sluiten is door te navigeren met de Macro buttons tot je op het aflsuitscherm terug bent, en daar staat een button ( in de vorm van een RODE X ) die de Ribbon terugbrengt, ( of alle standaard werkbalken in EXCEL 2003 ) en het bestand afsluit. Kortom binnen de mogelijkheden van EXCEL maximaal beschermd op oneigenlijk / manipulatief gebruik.
De VBA code ( alt + f11 ) is uiteraard ook password protected dus ook de iets betere EXCEL kenner komt ook daar niet in. ( ongetwijfeld zullen er vast wel een paar hackers zijn die het wel kunnen doorbreken, maar dat is dan jammer, ik richt me op de standaard computer gebruiker.)
Het opstartscherm zal vanaf dag 1 aangeven hoelang het programma nog werkt en daaruit kan men gewoon nog met de "RODE EXCEL X " afsluiten of gewoon sluiten (dat valt dus buiten de VBA code)
============= einde informatie =============
Ik heb nu deze code die een nieuwe datum kan plaatsen in het programma,
Code:
Sub Verleng1()
'Vanuit het EXCEL (abonnement verlengings programmaatje) runt deze macro door op een knop te drukken
'Ga naar het vorige open window ( = het HOOFD programma wat niet meer werkt )
Windows(2).Activate
Sheets("START").Select ' sheet die de nieuwe datum krijgt
Range("F18").Select ' cel waar de datum staat die bepaald of VBA nog werkt
ActiveCell.FormulaR1C1 = "1/1/2015"
'terug naar programma om het abbonnement te verlengen.
Windows(2).Activate
Sheets("Sheet1").Select
End Sub
Alternatief bedacht:
Code:
Sub Verleng2()
'Vanuit het EXCEL (abonnement verlengings programmaatje) runt deze macro door op een knop te drukken
Sheets("Sheet2").Select ' ga naar een sheet die de nieuwe datum heeft staan
Range("U200").Select ' cel waar de datum staat
Selection.Copy
'Ga naar het vorige open window ( = het HOOFD programma wat niet meer werkt )
Windows(2).Activate
Sheets("START").Select ' sheet die de nieuwe datum krijgt
Range("F18").Select ' cel waar de datum staat die de VBA af moet zetten
ActiveSheet.Paste
'terug naar programma om het abbonnement te verlengen.
Windows(2).Activate
Sheets("Sheet2").Select ' ga naar een sheet die de nieuwe datum heeft staan
Range("U200").Select ' cel waar de datum staat
Selection.ClearContents 'delete datum
Sheets("Sheet1").Select
End Sub
Dus mijn nieuwe probleem wordt waarschijnlijk dat alle nieuwe datums er zelf in moet gaan zetten.

Maar als iemand daar nog een brilliant idee voor heeft.....
Terug naar het hoofd probleem.
1. Is het mogelijk om de datum in een cel in een EXCEL sheet ( Bijvoorbeeld in Sheet: "START" in Cel "F18" ) te gebruiken om d.m.v. die datum de VBA code te deactiveren?
en als je toch op weg bent
2. is het eventueel mogelijk om 1 sub () ( dus VBA Macro ) te excluden van deze datum actie, zodat die Macro altijd werkt (ongeacht of de datum gepasseerd is.
Ik hoop dat het een beetje duidelijk is.
Alvast bedankt voor het meedenken
BNYMFK
Laatst bewerkt: