VBS die zelf de datum bij kan houden.

Status
Niet open voor verdere reacties.
vbs

Goedemiddag, ED

Ik heb alle opties geprobeert, maar het wil nog niet lukken.

Ik heb een file die een directorie leegmaakt, dat gaat goed.
Code:
Const strPath = "c:\ictkeurmerk"
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")

Call Search (strPath)

' Comment out below line if you'd like to use this script in windows schedule task
WScript.Echo"Het ICT-Keurmerk is van uw systeem verwijderd en niet meer geldig. Wilt u alsnog het ICT-keurmerk op uw computer of laptop, neem dan contact op met V-LITE Computer Service. Telefoon 0411-616591"

Sub Search(str)
Dim objFolder, objSubFolder, objFile
Set objFolder = objFSO.GetFolder(str)
For Each objFile In objFolder.Files

' Use DateLastModified for modified date of a file
If objFile.DateCreated < (Now() -0) Then
objFile.Delete(True)
End If

Next
For Each objSubFolder In objFolder.SubFolders
Search(objSubFolder.Path)

' Files have been deleted, now see if the folder is empty.
If (objSubFolder.Files.Count = 0) Then
objSubFolder.Delete(True)
End If

Next
End Sub

Dit stukje:
Code:
' Use DateLastModified for modified date of a file
If objFile.DateCreated < (Now() -0) Then
objFile.Delete(True)
End If

Mag hij niet kijken naar datelastmodified ,maar moet de delete opdracht uitvoeren als een variable een bepaalde waarde heeft bv na 180 dagen.
Ik heb daarvoor van je gekregen:
Code:
'datum vergeijken
Set objFSO=CreateObject("Scripting.FileSystemObject")
Dim stDatum
strFile = "C:\ictkeurmerk\startdatum.dat"
Set objFile = objFSO.OpenTextFile(strFile)
stDatum = Cdate(objFile.ReadLine)
objFile.Close

En de file:

Code:
Set objFSO=CreateObject("Scripting.FileSystemObject")
Dim stDatum
strFile = "C:\ictkeurmerk\startdatum.dat"
Set objFile = objFSO.OpenTextFile(strFile)
stDatum = Cdate(objFile.ReadLine)
objFile.Close

Ik heb de afgelopen week alles geprobeert, maar kan er niet uitkomen.
Er is een startdatum, dat gaat goed, daarna moet hij na 180 dagen na de startdatum een deleteopdracht uitvoeren.
De deleteopdracht op zicht werkt ook goed.

Alleen ik loop flink vast bij het aan elkaar koppelen, door mijn onervarenheid.
Wil je nog even hierna kijken?
Alvast bedankt.

MVG Frank
 
vos die zelf de datum bij kan houden

Ik heb alle opties geprobeert, maar het wil nog niet lukken.

Ik heb een file die een directorie leegmaakt, dat gaat goed.
De code:
Code:
Const strPath = "c:\ictkeurmerk"
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")

Call Search (strPath)

' Comment out below line if you'd like to use this script in windows schedule task
WScript.Echo"Het ICT-Keurmerk is van uw systeem verwijderd en niet meer geldig. Wilt u alsnog het ICT-keurmerk op uw computer of laptop, neem dan contact op met V-LITE Computer Service. Telefoon 0411-616591"

Sub Search(str)
Dim objFolder, objSubFolder, objFile
Set objFolder = objFSO.GetFolder(str)
For Each objFile In objFolder.Files

' Use DateLastModified for modified date of a file
If objFile.DateCreated < (Now() -0) Then
objFile.Delete(True)
End If

Next
For Each objSubFolder In objFolder.SubFolders
Search(objSubFolder.Path)

' Files have been deleted, now see if the folder is empty.
If (objSubFolder.Files.Count = 0) Then
objSubFolder.Delete(True)
End If

Next
End Sub

Dit stukje code:
Code:
' Use DateLastModified for modified date of a file
If objFile.DateCreated < (Now() -0) Then
objFile.Delete(True)
End If
Mag hij niet kijken naar datelastmodified ,maar moet de delete opdracht uitvoeren als een variable een bepaalde waarde heeft bv na 180 dagen.
Ik heb daarvoor van je gekregen:
Code:
'datum vergeijken
Set objFSO=CreateObject("Scripting.FileSystemObject")
Dim stDatum
strFile = "C:\ictkeurmerk\startdatum.dat"
Set objFile = objFSO.OpenTextFile(strFile)
stDatum = Cdate(objFile.ReadLine)
objFile.Close

en de file:
Code:
Set objFSO=CreateObject("Scripting.FileSystemObject")
Dim stDatum
strFile = "C:\ictkeurmerk\startdatum.dat"
Set objFile = objFSO.OpenTextFile(strFile)
stDatum = Cdate(objFile.ReadLine)
objFile.Close

Ik heb de afgelopen week alles geprobeert, maar kan er niet uitkomen.
Er is een startdatum, dat gaat goed, daarna moet hij na 180 dagen na de startdatum een deleteopdracht uitvoeren.
De deleteopdracht op zicht werkt ook goed.

Alleen ik loop flink vast bij het aan elkaar koppelen, door mijn onervarenheid.
Wil je nog even hierna kijken?
Alvast bedankt.

MVG Frank
 
Hoi!
Deze is er wat bij in geschoten maar ik zal er morgenavond naar kijken.
 
vbs

Geen probleem.
Geen druk en geen verplichtingen.
Het moet leuk blijven.

Ik hoor het wel.

MVG Frank.
 
Ok, hierbij nogmaals 2 stukjes code:

Deze schrijft de huidige datum in een bestandje (Had je al):
Code:
Set objFSO=CreateObject("Scripting.FileSystemObject")

'Maak het bestand
outFile="C:\ictkeurmerk\DtChk.dat"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write CLng(Date)
objFile.Close

Deze leest dat bestand en controleert of de datum in dat bestandje 180 dagen of meer geleden is:
Code:
Set objFSO=CreateObject("Scripting.FileSystemObject")
'Lees het bestand
strFile = "C:\ictkeurmerk\DtChk.dat"
Set objFile = objFSO.OpenTextFile(strFile)
strLine= objFile.ReadLine
objFile.Close

If CLng(Date) - strLine >= 180 Then
    MsgBox  "De gelezen datum is minimaal 180 dagen geleden"
End If
 
Laatst bewerkt:
Vbs

Dankje Ed,

Ik ga er mee aan de slag.

En laat je nog weten of het gelukt is.

Thanks,

MVG Frank
 
VBS die zelf datum kan bijhouden

Het werkt goed, na 14 dagen wordt er mooi een vbs gestart, en na 180 dagen start er een vbs met melding op het scherm, dat het verwijderd gaat worden. Prima. Alleen loopt is tegen 1 probleempje aan. Als er 14 dagen vervallen zijn, komt er een scherm om schoon te maken(vbs1), na 28 dagen wordt wordt vbs1 2x geactiveerd omdat de eerste waarde (na 14 dagen) waar is, maar ook de tweede na ( 28 dagen) enz. Dus na 7 maanden komt 7x het scherm om schoon te maken. Hoe kan ik dat oplossen?
hierbij de code:
Code:
Set objFSO=CreateObject("Scripting.FileSystemObject")
'Lees het bestand
strFile = "C:\ictkeurmerk\DtChk.dat"
Set objFile = objFSO.OpenTextFile(strFile)
strLine= objFile.ReadLine
objFile.Close

If CLng(Date) - strLine >= 0 Then

strmessage =   "Geachte klant, uw computer is beveiligd met het beveiligingssysteem van V-LITE Computer Service.Om de 14 dagen zal uw computer u vragen om opgeschoond te worden. Wanneer u deze opschoon aktie telkens uitvoert zal uw computer beter blijven werken en vooral veiliger zijn. Bij Internetbankieren bent u dan veilig. "
msgbox strmessage, 0 , " V-LITE ICT-Keurmerk, voor veilig internetbankieren."
end If

If CLng(Date) - strLine >= 183 Then
Set objShell = CreateObject("WScript.Shell")
'Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")
objShell.Run "c:\ictkeurmerk\ict2.vbs" 

End if

If CLng(Date) - strLine >= 14 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end if

If CLng(Date) - strLine >= 28 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 42 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 56 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 70 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 84 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 98 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 0 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 112 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 126 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 140 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 154 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 168 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
If CLng(Date) - strLine >= 182 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end If
End if
End if
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If

Alvast bedankt'.

een tweede probleempje is maar dat is minder belangrijk:
Met de code:
Code:
If CLng(Date) - strLine >= 0 Then

strmessage =   "Geachte klant, uw computer is beveiligd met het beveiligingssysteem van V-LITE Computer Service.Om de 14 dagen zal uw computer u vragen om opgeschoond te worden. Wanneer u deze opschoon aktie telkens uitvoert zal uw computer beter blijven werken en vooral veiliger zijn. Bij Internetbankieren bent u dan veilig. "
msgbox strmessage, 0 , " V-LITE ICT-Keurmerk, voor veilig internetbankieren."
end If

Krijg ik ,een tekst in de pop-up.
Dat zou ik bij elke pop-up willen krijgen, maar bij de code waarbij de klant voor ja of nee moet kiezen, werkt dit niet.
Code:
If CLng(Date) - strLine >= 14 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end if
 
Je moet wel op juiste moment het bestandje met de datum opnieuw maken natuurlijk. Als bijvoorbeeld de 14 dagen controle waar is doe je wat je dan moet doen, maar dan uiteraard ook het bestandje met de datum vernieuwen.
 
Hallo Ed,
Ja om hem om de 14 dagen te laten draaien, wel, maar na 180 dagen moet het schermpje komen of de klant dit nog wil en zo niet dan worden de vis bestanden gewist.
Ik heb dan toch de eerste datum nodig om te kunnen bepalen wanneer 180 om zijn.
Als ik het datumbestandje steeds aan laat passen, dan zou hij nooit verlopen.
Of zie ik het verkeerd?
 
Je zal een bestandje nodig hebben voor de 14 dagen controle en eentje voor de 180 dagen controle. Dat kan als je het netjes programmeert ook met meerdere categoriën in 1 bestandje. Dat betekent natuurlijk wel een andere lees- en schrijfwijze van dat bestandje. 2 bestandjes is het makkelijkst.
 
Dan ga ik met twee bestandjes aan de slag.
Ik laat het nog wel weten.

Bedankt vast
 
Met twee bestandjes gaat het volgens mij wel goed komen. Ik laat nu een bestand maken met vervaldatum en een met een triggerdatum, die ik steeds aan laat passen.

Ik zou nog graag in de kop van de pop-up tekst vermelden, maar dat lukt me niet bij deze code: wat doe ik verkeerd?
bij de code waarbij de klant voor ja of nee moet kiezen, werkt dit niet.


Code:
If CLng(Date) - strLine >= 14 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

else 
msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service." 
end if

heb jij n idee?
 
Doe dat eens zo voor die laatste:
Code:
Msgbox "Oke, geen probleem. Doe het dan binnen enkele dagen. Ik geeft u over 14 dagen weer een herinnering, fijne dag. Met vriendelijke groet, V-LITE Computer Service.", vbOkOnly + vbInformation, "Bericht ICT-Keurmerk"

En zo voor die eerste:
Code:
If msgBox("Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "Bericht ICT-Keurmerk") = vbYes Then
    msgbox "Ja geklikt."
End If

Zie ook:
https://ss64.com/vb/msgbox.html

Die site had ik je al eerder gegeven en daar staat het allemaal uitgelegd.
 
Laatst bewerkt:
In de onderste code werkt (venster)het prima!

in de bovenste code helaas niet
Code:
If CLng(Date) - strLine >= 14 Then
if msgBox("Bericht ICT-Keurmerk: Geachte klant, Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen? Met vriendelijke groet, V-LITE Computer service.", vbYesNo, "") = vbYes then
Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")

Wanneer een klant moet kiezen tussen ja en nee dan werkt de code niet, op verschillende plaatsen geprobeert.
 
Die bovenste doet het prima, maar in de code die je in #36 plaatste mis ik 2x een End If
Daarnaast heb je het niet gedaan zoals ik liet zien. Dat schiet natuurlijk niet op.

Zelf zou ik het zo doen:
Code:
If CLng(Date) - strLine >= 14 Then
    If msgBox("Geachte klant," & vbCrLf & vbCrLf &"Het is al weer 14 dagen geleden dat u uw computer opgeschoond heeft. Het is erg belangrijk om dit minimaal 1x per 14 dagen uit te voeren. Zullen we het nu meteen even doen?" & vbCrLf & vbCrLf & vbCrLf & "Met vriendelijke groet," & vbCrLf & "V-LITE Computer service.", vbYesNo, "Bericht ICT-Keurmerk") = vbYes Then
        Set objShell = CreateObject("WScript.Shell")
        Set objWshScriptExec = objShell.Exec("C:\Program Files\SUPERAntiSpyware\superantispyware.exe")
    End If
End If

En dat ziet er dan zo uit:
vbs.jpg

Wen je ook het gebruik van juiste inspringpunten aan.
Ook zou ik voor het uitvoeren van superantispyware eerst controleren of deze wel aanwezig is.
 
Laatst bewerkt:
VBS die zelf de dtum bij kan houden

Wauw, dat ziet er echt mooi uit.
Dank je wel.
Het werkt nu helemaal.
Ik heb nu het leesbestand in de opstartmap gezet van Windows, maar later wil ik dit via het register gaan doen.
Je had dit al eerder aangegeven.
Ik ga me daar eerst in verdiepen.

Nogmaals erg bedankt, ik ben err erg blij mee.

Mvg Frank
 
vb. dei zelo de datum bij kan houden

Het is bijna voor elkaar.
alles wordt nu geïnstalleerd met 1 druk op de knop. Ik zal het geheel terugkoppelen zodat anderen er ook iets aan hebben.
Ik laat nu automatisch taken aanmaken. Dit gaat goed als de laptop op het netsnoer zit, loopt hij op de accu dan werkt het niet.
Ik maak taken met een bat bestand en dat werkt geweldig, alleen bij elke taak wordt automatisch de voorwaarden " de taak alleen opstarten als netstroom is aangesloten" automatisch actief.
schtask.exe kent geen optie om deze functie op disable te zetten, volgens mij.
Dus ik ben nog aan het zoeken naar een oplossing hiervoor. Of heb jij een idee?

mvg Frank
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan