2016-05-05 5 views
1

Я сделал счетчик, который работает, когда вы нажимаете кнопку в качестве действия в VBScript.Загрузка содержимого из txt-файла в переменную

мой код:

Licznik_ID = Licznik_ID + 1 

    Dim Stuff, myFSO, WriteStuff, dateStamp 

    Stuff = "Whatever you want written" 

    Set myFSO = CreateObject("Scripting.FileSystemObject") 
    Set WriteStuff = myFSO.OpenTextFile("c:\tmp\yourtextfile.txt", 2, True) 
    WriteStuff.WriteLine(Licznik_ID) 
    WriteStuff.Close 
    SET WriteStuff = NOTHING 
    SET myFSO = NOTHING 

счетчик переменная с именем "Licznik_ID" указано стрелкой.

enter image description here

Он записывается в файл "C: \ TMP \ yourtextfile.txt" И это хорошо работает. За каждый раз число увеличивается на единицу и заменяется и сохраняется в txt-файле.

Файл содержит число 1, и увеличение в текстовом файле появится номер 2 и так далее ...

Как теперь загрузить данные хранятся вместе с файлом «C: \ TMP \ yourtextfile.txt» вернитесь к переменной, чтобы использовать ее таким образом, чтобы при запуске NiceForm или кнопка была загружена содержимым txt-файла в переменную?

+0

Имеет ли 'yourtextfile.txt' просто число, которое вы хотите увеличивать на единицу каждый раз? – langstrom

+0

Правильно. Файл содержит номер 1, а увеличение файла txt - номер 2 и т. Д. – darjab

ответ

1
Set myFSO = CreateObject("Scripting.FileSystemObject") 
Licznik_ID = myFSO.OpenTextFile("C:\tmp\yourtextfile.txt").ReadAll 
Licznik_ID = Licznik_ID + 1 
myFSO.OpenTextFile("C:\tmp\yourtextfile.txt",2,True).Write(Licznik_ID) 

FSO является своего рода странным, как иногда бывает в его файловых режимах.

редактировать: Если вы хотите, чтобы это создать файл без ошибок, если он не существует, строка 2 заменить следующим образом:

If myFSO.FileExists("C:\tmp\yourtextfile.txt") Then 
    Licznik_ID = myFSO.OpenTextFile("C:\tmp\yourtextfile.txt").ReadAll 
End If 

Если файл не существует, Licznik_ID будет Empty , Empty + 1 = 1 в vbscript.

+0

Что странно? – Lankymart

+0

Ну, в основном в этом открытии 'ForWriting' (2) создаст новый файл каждый раз * и * сделает так, чтобы вы не могли его прочитать. – langstrom

+0

Это поток памяти, когда вы ожидаете, что он будет вести себя по-другому? Также 'ForWriting' не форсирует создание нового файла каждый раз, когда вы можете управлять им с помощью' create' boolean argument 'object.OpenTextFile (filename [, iomode [, create [, format]]]). – Lankymart

Смежные вопросы