Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As Any) As Long
При передаче строки в lpBuffer используйте ключевое слово ByVal. Если параметр lpOverlapped равен 0, то также используйте ByVal CLng(0)
' Запишем число и строку в файл ' C:\sample.txt Dim longbuffer As Long ' число для записи в файл Dim stringbuffer As String ' строка для записи в файл Dim numwritten As Long ' число записанный байтов Dim hFile As Long ' дескриптор файла Dim retval As Long ' возвращаемое значение ' Открываем или создаем файл для записи hFile = CreateFile("C:\sample.txt", GENERAL_WRITE, FILE_SHARE_READ, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_ARCHIVE, 0) If hFile = -1 Then Debug.Print "Невозможно открыть файл - возможно он не существует" End ' выходим из программы End If ' Записываем число (27) в файл longbuffer = 27 retval = WriteFile(hFile, longbuffer, Len(longbuffer), numwritten, CLng(0)) ' Записываем 14-символьную строку stringbuffer = "Русский_Проект" retval = WriteFile(hFile, ByVal stringbuffer, 14, numwritten, CLng(0)) ' Закрываем файл retval = CloseHandle(hFile)