excel编辑之后,怎么直接用VBA生成相应的二进制文件
就是把excel单元格的内容转成二进制
谢谢大神们!
就是把excel单元格的内容转成二进制
谢谢大神们!
解决方案 »
- 求教:使用Winsock1.Listen监听后,怎么关闭监听??
- 关于msn临时会话的代码问题
- 请教有关VB中调用DLL的函数的声明方法。
- 如何复制一个对象?
- flashget下载网页的所有链接是如何实现的?
- 小弟有1个关于数据库的问题想问大家!解决立即给分.
- 怎样将记录集放在Text中,不是一个小问题,在线等待,急!!!
- 一个菜问题:怎么在一个表单上运行一个在另一个表单上定义的子程序?
- 关于调用DLL有问题?
- vb程序中用到WINAPI调用时,常见到类似Const EM_SETTABSTOPS = &HCB这样的语句,请问&HCB代表什么意思?
- msgbox对话框,如何实现如果用户不去点击关闭,用代码实现关闭这个对话框?
- 请教一个向已有的CSV文件制定第N行第M列写入数据并保存的问题。
我的需求就是要分析这些二进制数据。
其实也就是你说的那样,最好是十六进制的样子如:00-ff
'下面的函数可能会有用:'StrToByte:字符串->字节数组
'ByteToStr:字节数组->字符串'可转换中英文混合字符.Private Sub StrToByte(s As String, b() As Byte)
Dim i As Long
Dim p As Long
Dim b1 As Byte, b2 As Byte
For i = 1 To Len(s)
If Asc(Mid$(s, i, 1)) >= 0 Then
ReDim Preserve b(p)
b(p) = Asc(Mid$(s, i, 1))
p = p + 1
Else
ReDim Preserve b(p + 1)
Call IntToByte(Asc(Mid$(s, i, 1)), b1, b2)
b(p) = b1
b(p + 1) = b2
p = p + 2
End If
Next i
End SubPrivate Sub IntToByte(n As Integer, b1 As Byte, b2 As Byte)
Dim s As String
s = Right$("0000" & Hex$(n), 4)
b1 = CByte("&H" & Left$(s, 2))
b2 = CByte("&H" & Right$(s, 2))
End SubPrivate Function ByteToStr(b() As Byte) As String
Dim i As Long
While i <= UBound(b)
If b(i) < 128 Then
ByteToStr = ByteToStr & Chr$(b(i))
i = i + 1
Else
ByteToStr = ByteToStr & Chr$(ByteToInt(b(i), b(i + 1)))
i = i + 2
End If
Wend
End FunctionPrivate Function ByteToInt(b1 As Byte, b2 As Byte) As Integer
Dim s As String
Dim s1 As String, s2 As String
s1 = Right$("00" & Hex$(b1), 2)
s2 = Right$("00" & Hex$(b2), 2)
s = "&H" & s1 & s2
ByteToInt = CInt(s)
End Function
这个方法好想麻烦,在说我也没有学过VB
有人告诉我说excel编辑之后,直接用VBA生成二进制文件?
你说她说的直接用VBA生成二进制文件是通过编码实现的吗?
还是有什么工具之类的?