这个问题在这里已有答案:
我试图将一列十六进制值转换为二进制值,然后将二进制值写入二进制文件 . 但是,我在将十六进制值转换为二进制时遇到问题...
我找到了这个帖子:Convert hex value string to Binary string
我一直试图做的答案建议并将每个十六进制字符转换为二进制,然后将结果追加到表示完整二进制数的字符串 . 但是,我在尝试转换十六进制字符串字符时遇到错误...这是我目前正在尝试做的事情:
Dim hexString As String
Dim binaryString As String
hexString = ""
binaryString = ""
Dim rangeOfCells As Range
Set rangeOfCells = Range ("C5: C100")
Dim hexCell As Range
For Each hexCell In rangeOfCells.Cells
If Not isEmpty(hexCell.value) Then
hexString = hexCell.Value
Dim counter As Integer
For counter = 1 to Len(hexString)
binaryString = binaryString & Convert.ToString(Convert.ToInt32(Mid(hexString, counter, 1), 16), 2)
Next
End If
Next
我继续在将 hexString
字符转换为二进制并将值附加到 binaryString
的行上出现此错误:
运行时错误'424':需要对象
我尝试简化代码行,并在尝试将我的 hexString
转换为Int(即: Convert.ToInt32(hexString)
)时继续获取错误事件 .
非常感谢您对此问题的任何帮助 . 谢谢!
2 回答
使用hex2bin或this post中提到的一些其他功能
您're getting an '对象必需'运行时错误,因为未指定
Option Explicit
.使用
Option Explicit
,您将遇到编译时错误,告诉您Convert
未在任何地方声明 .原因是,它是.NET框架中的静态类,在
System
命名空间中:它与VBA没有任何关系 .如果要转换的值相对较小,则可以使用
HEX2BIN
工作表函数:如果函数抛出错误,那么该值太大,您需要实现自己的 . 该站点有许多易于使用的实现 .