vba二进制文件导致溢出
我试图使用word中的宏将这些数据写入二进制文件。 如果我运行此命令,我会在Put#handle,CByte(“&H”&output(I))行上出现此错误“执行错误溢出(错误6)” 我怎样才能解决这个问题? 谢谢vba二进制文件导致溢出,vba,excel,ms-office,ms-word,Vba,Excel,Ms Office,Ms Word,我试图使用word中的宏将这些数据写入二进制文件。 如果我运行此命令,我会在Put#handle,CByte(“&H”&output(I))行上出现此错误“执行错误溢出(错误6)” 我怎样才能解决这个问题? 谢谢 问题是您没有在lol作业行的末尾添加分隔符。因此,当它们被拆分时,前一行的最后两位将与下一行的前两行连接 错误发生在以下位置: lol = lol & "00|00|00|00|00|00|00|00|40|00|00|00|00|00|00|01" lol = lol &am
问题是您没有在
lol
作业行的末尾添加分隔符。因此,当它们被拆分时,前一行的最后两位将与下一行的前两行连接
错误发生在以下位置:
lol = lol & "00|00|00|00|00|00|00|00|40|00|00|00|00|00|00|01"
lol = lol & "00|00|00|00|00|00|00|00|40|00|00|00|00|00|00|00"
解析时,01
和00
(下一行)之间没有分隔符,因此0100
的值产生溢出
用
|
结束每个lol
作业行,错误应该会消失。问题是您没有在lol
作业行的末尾添加分隔符。因此,当它们被拆分时,前一行的最后两位将与下一行的前两行连接
错误发生在以下位置:
lol = lol & "00|00|00|00|00|00|00|00|40|00|00|00|00|00|00|01"
lol = lol & "00|00|00|00|00|00|00|00|40|00|00|00|00|00|00|00"
解析时,01
和00
(下一行)之间没有分隔符,因此0100
的值产生溢出
用一个
|结束你的lol
作业行,错误应该会消失。Jason的答案是正确的,但我不确定建立字符串并拆分它以获得数组是最好的方法。您可以考虑只填充一个数组。
Private lol(1 To 4656) As String
Sub HexStringToBinaryFile()
Dim i As Long
Dim handle As Long
lol50
handle = FreeFile
Open "C:\test.bin2" For Binary As #handle
For i = LBound(lol) To UBound(lol)
Put #handle, , CByte("&H" & lol(i))
Next i
Close #handle
End Sub
Sub lol50()
Dim i As Long
For i = 1 To 4656
lol(i) = "00"
Next i
For i = 9 To 4656 Step 16
lol(i) = "40"
Next i
lol(4000) = "01"
lol(4416) = "02"
lol(4656) = "03"
End Sub
Jason的答案是正确的,但我不确定构建字符串并将其拆分以获得数组是最好的方法。您可以考虑只填充一个数组。
Private lol(1 To 4656) As String
Sub HexStringToBinaryFile()
Dim i As Long
Dim handle As Long
lol50
handle = FreeFile
Open "C:\test.bin2" For Binary As #handle
For i = LBound(lol) To UBound(lol)
Put #handle, , CByte("&H" & lol(i))
Next i
Close #handle
End Sub
Sub lol50()
Dim i As Long
For i = 1 To 4656
lol(i) = "00"
Next i
For i = 9 To 4656 Step 16
lol(i) = "40"
Next i
lol(4000) = "01"
lol(4416) = "02"
lol(4656) = "03"
End Sub