如何从Excel / VBA中的hex代码创build文件

我有一个Excel工作簿中的hex格式的代码。 每个2位的代码片段都在一个单独的单元格中,所以它看起来像4D | 54 | 68 | 64 | 00 | 00 | 00 | 06等等。使其更简单。 有什么办法从这里编码文件? 实际上,我需要它,以便在hex编辑器中打开文件将显示代码。 我有一种感觉,这可能涉及HEX2DEC或HEX2BIN,但即使如此,我也不知道从哪里去。

在将string转换为字节方面,可能不是最有效的解决scheme,只是以二进制模式打开一个文件并将字节放入工作就好了:

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 

你实际上没有说你做了什么,但文本文件function做字符转换。 以二进制模式使用stream对象来写入磁盘。 使用写入方法把一个字节数组。 和文本文件函数一样避免VBA的字符或string函数。

 Sub test() Dim ByteArray(4) As Byte ByteArray(0) = CByte(55) ByteArray(1) = CByte(55) ByteArray(2) = CByte(55) ByteArray(3) = CByte(55) Set BS = CreateObject("ADODB.Stream") BS.Type = 1 BS.Open BS.Write ByteArray BS.SaveToFile "c:\users\test", 2 End Sub