我在 Excel 工作簿中有十六进制格式的代码。每个 2 位数的代码位于单独的单元格中,因此看起来像 4D|54|68|64|00|00|00|06 等。也可能有一些单元格包含 4 或 6 位数的代码,如果让它变得更简单。有没有办法从这里编码文件?实际上,我需要它,以便在十六进制编辑器中打开文件将显示代码。我有一种感觉,这可能涉及 HEX2DEC 或 HEX2BIN,但即便如此,我也不知道从哪里开始。
最佳答案
就将字符串转换为字节而言,可能不是最有效的解决方案,但只需以二进制模式打开文件并将字节放入其中就可以了:
Sub HexStringToBinaryFile()
Dim hex_val As String
hex_val = "4D|54|68|64|00|00|00|06"
Dim output() As String
output = Split(hex_val, "|")
Dim handle As Long
handle = FreeFile
Open "C:\Dev\test.bin" For Binary As #handle
Dim i As Long
For i = LBound(output) To UBound(output)
Put #handle, , CByte("&H" & output(i))
Next i
Close #handle
End Sub
关于excel - 如何在 Excel/VBA 中从十六进制代码创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29975175/