说明: 我已经查看了这个问题的一些答案,但他们不适应我的情况。 我正在尝试在VBA中为Hex To Binary转换编写解决方案,但是我在标题中提到了错误。虽然我在这个集合中找不到与此元素相关联的任何其他键。
我的代码:
Public Function HEX2BIN(strHex As String) As String
Dim oHexValues As Object
Dim valueBin As String
Dim l_strHex As Integer
Set oHexValues = CreateObject("Scripting.Dictionary")
oHexValues.Add 1, "0001"
oHexValues.Add 2, "0010"
oHexValues.Add 3, "0011"
oHexValues.Add 4, "0100"
oHexValues.Add 5, "1010"
oHexValues.Add 6, "0110"
oHexValues.Add 7, "0111"
oHexValues.Add 8, "1000"
oHexValues.Add 9, "1001"
oHexValues.Add A, "1010"
oHexValues.Add B, "1011"
oHexValues.Add C, "1100"
oHexValues.Add D, "1101"
oHexValues.Add E, "1110"
oHexValues.Add F, "1111"
valueBin = ""
l_strHex = Len(strHex)
For i = 1 To l_strHex
charHex = Mid(strHex, i, 1)
MsgBox "Chars:" & charHex
If oHexValues.Exists(charHex) Then
valueBin = valueBin & oHexValues(charHex)
ElseIf charHex = "0" Then
valueBin = valueBin & "0000"
Else
MsgBox "Invalid value!"
End If
Next i
HEX2BIN = valueBin
End Function
错误: 此密钥已与此集合的元素相关联。调试器指向条目:
oHexValues.Add B, "1011"
有人可以帮助我吗?
答案 0 :(得分:4)
您的意思是添加String
"A"
而不是名为A
的变量吗?用
oHexValues.Add "A", "1010"