VBS bestand

Status
Niet open voor verdere reacties.

Milenko

Gebruiker
Lid geworden
27 aug 2009
Berichten
465
Hallo,
Ik had een vraagje over het maken van vbs bestanden.
Mijn bedoeling is om de antwoorden op te slaan die worden gegeven via een inputbox.
Het liefst zou ik deze dan willen opslaan in kladblok.
Als iemand weet hoe ik dit voor elkaar kan krijgen zou dat erg fijn zijn. (of zeg even als ik iets onmogelijks vraag)
M.v.g. Milenko
 
Heeft iemand misschien een idee? ik ben er nog niet achter. :(
 
Hoe bedoel je dit precies? Wil je het de invoer van de inputbox opslaan in een txt bestand, die je dan later kan openen met kladblok?

Onderstaand voorbeeld slaat de regel die je invult op in het bestandje voorbeeld.txt
Code:
strTekstInput = InputBox("Typ hieronder de tekst die je in kladblok wilt zien") 
Set fs = CreateObject("Scripting.FileSystemObject") 
strFileName = fs.BuildPath(Wscript.ScriptFullName & "\..", "voorbeeld.txt") 
strFileName = fs.GetAbsolutePathName(strFileName) 
Set ts = fs.OpenTextFile(strFileName, 2, True) 
ts.WriteLine strUserIn 
ts.Close

Of wil je dat de invoer direct in kladblok te zien is?

Code:
Set objShell = CreateObject("WScript.Shell")
'Notepad openen
objShell.Run "notepad" 

'Even wachten tot Notepad geladen is
Wscript.Sleep 1000

'Invoer opvragen
strTekstInput = InputBox("Typ regel 1") 
'Invoer naar Notepad sturen
objShell.SendKeys strTekstInput 
'Enter teken naar Notepad sturen voordat we de volgende regel opvragen
objShell.SendKeys "{ENTER}"

strTekstInput = InputBox("Typ regel 2")
objShell.SendKeys strTekstInput
objShell.SendKeys "{ENTER}"

WScript.Quit 
'Einde script
 
Hoe bedoel je dit precies? Wil je het de invoer van de inputbox opslaan in een txt bestand, die je dan later kan openen met kladblok?

Onderstaand voorbeeld slaat de regel die je invult op in het bestandje voorbeeld.txt
Code:
strTekstInput = InputBox("Typ hieronder de tekst die je in kladblok wilt zien") 
Set fs = CreateObject("Scripting.FileSystemObject") 
strFileName = fs.BuildPath(Wscript.ScriptFullName & "\..", "voorbeeld.txt") 
strFileName = fs.GetAbsolutePathName(strFileName) 
Set ts = fs.OpenTextFile(strFileName, 2, True) 
ts.WriteLine strUserIn 
ts.Close

Of wil je dat de invoer direct in kladblok te zien is?

Code:
Set objShell = CreateObject("WScript.Shell")
'Notepad openen
objShell.Run "notepad" 

'Even wachten tot Notepad geladen is
Wscript.Sleep 1000

'Invoer opvragen
strTekstInput = InputBox("Typ regel 1") 
'Invoer naar Notepad sturen
objShell.SendKeys strTekstInput 
'Enter teken naar Notepad sturen voordat we de volgende regel opvragen
objShell.SendKeys "{ENTER}"

strTekstInput = InputBox("Typ regel 2")
objShell.SendKeys strTekstInput
objShell.SendKeys "{ENTER}"

WScript.Quit 
'Einde script
Heey, ik had al een ander scriptje gevonden.
Maar hierover heb ik ook nog een vraagje.
Code:
dim strinput, strinput2
strinput = inputbox("Voer je voornaam in:", "Naam")
strinput2 = inputbox("Voer hier je achternaam in:", "Naam2")
If not len(strinput) = 0 then 
	datum = now
	dim filesys, testfile	
	set filesys = CreateObject("Scripting.FileSystemObject")
	set testfile = filesys.CreateTextFile("D:\output.txt")
	testfile.writeline (datum)
	testfile.writeline ("Naam: " & strinput)
	testfile.writeline ("Achternaam: " & strinput2)
	testfile.close
	mb = MsgBox("Tekst opgeslagen in D:\output.txt", 64, "Tekst opgeslagen")
Else 
	msgbox"error no input!" 
End if
Dit is dus het script dat ik gevonden had.
Mijn vraag is nu: Hoe kan ik ervoor zorgen dat er meerdere namen worden opgeslagen?
En niet dat als er opnieuw iets word ingevuld dat de oude gegevens verloren gaan?
M.v.g. Milenko
 
Hou het simpel.

Code:
sub invoer()
  strinput = inputbox("Voer je voornaam in:", "Naam")
  strinput2 = inputbox("Voer hier je achternaam in:", "Naam2")
  If strinput & strinput2<>"" then 
     With CreateObject("Scripting.FileSystemObject").CreateTextFile("D:\output.txt")
       .write strinpunt & vbCRLf & strinput2 & vbCrLf & format(date,"dd-mm-yyyy")
       .close
     End with
  End if
End Sub
 
Mijn vraag is nu: Hoe kan ik ervoor zorgen dat er meerdere namen worden opgeslagen?
En niet dat als er opnieuw iets word ingevuld dat de oude gegevens verloren gaan?

In plaats van een nieuw bestand aan te maken met CreateTextFile
Code:
set testfile = filesys.CreateTextFile("D:\output.txt")
'
Gebruik je OpenTextFile en door er ,8,true achter te zetten, gaat hij naar het eind van het bestand.
Code:
set testfile = filesys.OpenTextFile("c:\output.txt",8,true)
 
Laatst bewerkt:
In plaats van een nieuw bestand aan te maken met CreateTextFile
Code:
set testfile = filesys.CreateTextFile("D:\output.txt")
'
Gebruik je OpenTextFile en door er ,8,true achter te zetten, gaat hij naar het eind van het bestand.
Code:
set testfile = filesys.OpenTextFile("c:\output.txt",8,true)
Ja dit is precies wat ik bedoelde. :)
Dankjewel voor je hulp! :thumb:
 
Alternatief

Code:
Open "C:\voorbeeld.txt" for append as #1
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan