VBA - 读取15 MB二进制文件到var

时间:2011-12-04 18:28:51

标签: excel vba binaryfiles

在Excel VBA中是否可以将二进制文件读取到变量?

类似于以下的功能:

function bin2var(filename as String) As XXXX

而且,是否可以进行反向操作?

function var2bin(filename as String,data as XXXX)

2 个答案:

答案 0 :(得分:3)

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 :(得分:1)

重写Boann的代码,因为它在输出文件的末尾写了一个新行(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