Wic*_*ose 2 excel base64 hex vba
我有一个很长的十六进制值字符串,可以转换为base64。
我正在寻找一个简单的格式单元格函数,例如=Hex2b64(Hexstring)
可以接受任何长度的十六进制字符。
我一直在使用http://home.paulschou.net/tools/xlate/手动进行转换。转换工作正常,所有相关数据库均接收到数据并进行了适当的解析。
我接收的数据是十六进制表示的二进制文件,已根据我不了解的项目文档将其转换为多个块,并连接成较长的十六进制字符串。
典型的输入字符串为:
Hex= 00014088F6650101393939393939392D30304646463238313030000343332353430342D35353FA10000002805900100002805
Run Code Online (Sandbox Code Playgroud)
相应的输出将是:
B64 = AAFAiPZlAQE5OTk5OTk5LTAwRkZGMjgxMDAAA0MzI1NDA0LTU1P6EAAAAoBZABAAAoAF
Run Code Online (Sandbox Code Playgroud)
Function Hex2Base64(ByVal sHex)
Static oNode As Object
Dim a() As Byte
If Len(sHex) Mod 2 <> 0 Then
sHex = Left(sHex, Len(sHex) - 1) & "0" & Right(sHex, 1)
End If
If oNode Is Nothing Then
Set oNode = CreateObject("MSXML2.DOMDocument").createElement("Node")
End If
With oNode
.text = ""
.dataType = "bin.hex"
.text = sHex
a = .nodeTypedValue
.dataType = "bin.base64"
.nodeTypedValue = a
Hex2Base64 = .text
End With
End Function
Run Code Online (Sandbox Code Playgroud)