Народ!
Подскажите, плиззз, как сделать так, чтобы файлы создавались по номерам, по порядку при нажатии скажем на кнопку. Например: z001.txt, z002.txt, z003.txt и т.д.. Если можно, то код попроще, чтобы разобраться можно было. Заранее спасибо!
Private Counter As Long
Private Sub Command1_Click()
Dim FileName As String, FN As Integer
Counter = Counter + 1
FileName = "z" & Format$(Counter, "000") & ".txt"
FN = FreeFile
Open FileName For Output As #FN
Print #FN, "test"
Close #FN
End Sub
Forgott писал(а):Народ!
Подскажите, плиззз, как сделать так, чтобы файлы создавались по номерам, по порядку при нажатии скажем на кнопку. Например: z001.txt, z002.txt, z003.txt и т.д.. Если можно, то код попроще, чтобы разобраться можно было. Заранее спасибо!
GetTempFileName создает имя для временного файла для использования вашим приложением. Кстати, функция может создать только имя файла без создания самого файла. Имя файла включает в себя весь полный путь и содержится в lpTempFileName. Формат создаваемого файла путь\preuuuu.tmp, где pre - первые три символа имени файла, а uuu - шестнадцатиричное число между 0000 and FFFF, присоединяемое к этим символам
Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
' Создадим временный файл вида (path)\rusuuu.TMP,
' где (path) -это папка Windows,
' а uuuu - число, созданное функцией
Dim temppath As String ' имя папки
Dim tempfile As String ' имя файла
Dim slength As Long ' длина пути
Dim lastfour As Long ' hex-значение для uuuu
' Используем Windows, как временную папку
' Создадим буфер для хранения имени папки
temppath = Space(255)
slength = GetTempPath(255, temppath)
temppath = Left(temppath, slength)
' Создаем файл
' Создадим буфер для имени файла
tempfile = Space(255)
lastfour = GetTempFileName(temppath, "rus", 0, tempfile)
tempfile = Left(tempfile, InStr(tempfile, vbNullChar) - 1)
Debug.Print "Имя временного файла: "; tempfile
Forgott писал(а):Народ!
Подскажите, плиззз, как сделать так, чтобы файлы создавались по номерам, по порядку при нажатии скажем на кнопку. Например: z001.txt, z002.txt, z003.txt и т.д.. Если можно, то код попроще, чтобы разобраться можно было. Заранее спасибо!
Dim fso As New FileSystemObject, fl As File
Dim Ni As Integer
Dim strok As String
Ni = 0 ' задали начало
Do Until Ni = Text1.Text ' до заданого значения
Ni = Ni + 1
strok = "z" & Ni & ".txt"
Set fl = fso.CreateTextFile(strok)
Loop
Function getNextFileName(baseName As String, Optional extension As String = "txt", Optional ByVal startIndex As Long = 0) As String
Dim tempFileName As String
Do Until Len(Dir(tempFileName)) = 0
tempFileName = baseName + Format(startIndex, "00000") + "." + extension
startIndex = startIndex + 1
Loop
getNextFileName = tempFileName
End Function
Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 52