VBA - чтение 15 МБ двоичного файла в var - PullRequest
0 голосов
/ 04 декабря 2011

Возможно ли в Excel VBA прочитать двоичный файл в переменную?

Функция похожа на:

function bin2var(filename as String) As XXXX

А также, возможно ли сделать обратную операцию?

function var2bin(filename as String,data as XXXX)

Ответы [ 2 ]

3 голосов
/ 04 декабря 2011
Function bin2var(filename As String) As String
    Dim f As Integer
    f = FreeFile()
    Open filename For Binary Access Read Lock Write As #f
        bin2var = Space(FileLen(filename))
        Get #f, , bin2var
    Close #f
End Function

Sub var2bin(filename As String, data As String)
    Dim f As Integer
    f = FreeFile()
    Open filename For Output Access Write Lock Write As #f
        Print #f, data;
    Close #f
End Sub
1 голос
/ 29 января 2014

Переписывает код Боанна, поскольку он пишет новую строку (2 байта) в конце выходного файла.

Function bin2var(filename As String) As String
    Dim f As Integer
    f = FreeFile()
    Open filename For Binary Access Read Lock Write As #f
        bin2var = Space(FileLen(filename))
        Get #f, , bin2var
    Close #f End Function

Sub var2bin(filename As String, data As String)
    Dim f As Integer
    f = FreeFile()
    Open filename For Binary Access Write As #f
        Put #f, , data
    Close #f 
End Sub
...