吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1161|回复: 2
收起左侧

[求助] VBA函数值的问题

[复制链接]
molinchz 发表于 2021-11-1 15:26
25吾爱币
本帖最后由 molinchz 于 2021-11-1 15:39 编辑

大佬们。来帮忙 下,分析 不出来啊,卡在这个函数这里了,代码如下,excel 是VBA的
单元格F2是日期格式2020-8-8  ,通过代码中格式化和转类型后是20200808, 经过copymemory这个之后 EndFile(37) 到(40)是值 是104 61 52 1  ;
问下这EndFile这值 转成什么 值 了,是ascii码,还是Unicode 。
Public Declare PtrSafe Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long) 'EXCEL申明
Public Sub WriteZH()
Dim EndFile(1 To 300) As Byte
Call CopyMemory(EndFile(37), CLng(Format(Range("F2"), "yyyymmdd")), 4)      

最佳答案

查看完整内容

先说答案 ascii CopyMemory 都是byte 数值范围是0-256 首先出现了104 这种东西 说明你写的是10进制 转换为16进制 68 3d 34 01 然后看是Unicode 还是 ascii ascii 对应的是 h=4 ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

pzx521521 发表于 2021-11-1 15:26
先说答案 ascii

CopyMemory  都是byte 数值范围是0-256
首先出现了104 这种东西  说明你写的是10进制
转换为16进制 68 3d 34 01
然后看是Unicode  还是 ascii
ascii 对应的是 h=4
Unicode 每两位是一个汉字(没有补0 如 h 对应的是68 00)
因为Unicode是双位的所以  只能去[38] [39] 即 3d 34 没有对应的Unicode编码  
而且Unicode不会从奇数37 开始复制

综上 是ascii

再严谨一点多做一下测试, 用37 38 39 40 来测试
683d 3401对应的是 栽㐁
可以去这里查
https://home.unicode.org/
3401对应的查询结果
https://www.unicode.org/charts/PDF/U3400.pdf
 楼主| molinchz 发表于 2021-11-1 21:36
本帖最后由 molinchz 于 2021-11-2 00:28 编辑

pzx521521 发表于 2021-11-1 19:33
先说答案 ascii

感谢大神,终于解出来了

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 22:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表