vba将十六进制字符串写入图片文件

 思路:

1先将十六进制字符串转换为十进制数组

2利用ADODB.Stream对象将十进制数组写入二进制文件

Sub ReadTxtHeaderAndWriteToWorksheet()
    Dim filePath As String
    Dim fileContent As String
    
    ' 十六进制字符串文本文件的路径
    filePath = "C:\Users\Huahuai\Desktop\gpt.txt"
    
    ' 读取文本文件内容
    Open filePath For Input As #1
    fileContent = Input$(LOF(1), #1)
    Close #1
    
    binary = HexToBytes(fileContent)
    
    Set ASTeam = CreateObject("ADODB.Stream")
    With ASTeam
        .Type = 1 ' 二进制类型
        .Mode = 3 ' 可读可写
        .Open   '打开文件
        .write binary    ' 文件写入
        .savetofile "C:\Users\Huahuai\Desktop\gpt.png"    ' 文件另存
        .Close   ' 关闭
    End With


End Sub

Function HexToBytes(str As String)
    Dim bytes() As Byte
    Dim i As Long
    
    ' 计算字节数组的长度
    ReDim bytes(Len(str) \ 2 - 1)
    
    ' 解析每两位十六进制字符转换为十进制,并保存到数组
    For i = 1 To Len(str) Step 2
        bytes(i \ 2) = Val("&H" & Mid(str, i, 2))
    Next i
    
    HexToBytes = bytes()
End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Excel效率人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值