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
GetTempFileName создает имя для временного файла для использования вашим приложением. Кстати, функция может создать только имя файла без создания самого файла. Имя файла включает в себя весь полный путь и содержится в lpTempFileName. Формат создаваемого файла путь\preuuuu.tmp, где pre - первые три символа имени файла, а uuu - шестнадцатиричное число между 0000 and FFFF, присоединяемое к этим символам
В успешном случае функция возвращает число uuuu, использовавшее при создании имени файла. В случае ошибки возвращается 0 (используйте GetLastError для получения кода ошибки)
' Создадим временный файл вида (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