-
StackOverflow 文档
-
VBA 教程
-
在 VBA 和文件哈希中读取二进制 2GB +文件
MICROSOFT 类的方法
方法名称 |
描述 |
开了 |
返回一个布尔值,指示文件是否已打开。 |
OpenFile ( sFileNam e As String) |
打开 sFileName 参数指定的文件。 |
CloseFile |
关闭当前打开的文件。 |
ReadBytes ( ByteCount As Long) |
读取 ByteCount 字节并在 Variant 字节数组中返回它们并移动指针。 |
WriteBytes ( DataBytes() As Byte) |
将字节数组的内容写入文件中的当前位置并移动指针。 |
红晕 |
强制 Windows 刷新写入缓存。 |
SeekAbsolute ( HighPos As Long, LowPos As Long) |
将文件指针移动到文件开头的指定位置。虽然 VBA 将 DWORDS 视为有符号值,但 API 会将它们视为无符号。使高阶参数非零超过 4GB。对于 2GB 到 4GB 之间的值,低位 DWORD 将为负。 |
SeekRelative ( 偏移为长) |
将文件指针从当前位置移动到+/- 2GB。你可以通过将 64 位有符号偏移转换为两个 32 位值来重写此方法以允许大于 2GB 的偏移。 |
MICROSOFT 的类特性
属性 |
描述 |
文件句柄 |
当前打开文件的文件句柄。这与 VBA 文件句柄不兼容。 |
文件名 |
当前打开的文件的名称。 |
自动刷新 |
设置/指示 WriteBytes 是否会自动调用 Flush 方法。 |
普通模块
功能 |
笔记 |
GetFileHash ( sFile 为 String, uBlockSize 为 Double, sHashType 为 String) |
只需要输入要散列的完整路径,要使用的 Blocksize(字节数),以及要使用的散列类型 - 私有常量之一: HashTypeMD5 , HashTypeSHA1 , HashTypeSHA256 , HashTypeSHA384 , HashTypeSHA512 。这被设计为尽可能通用。 |
你应该相应地取消/评论 uFileSize As Double 。我测试了 MD5 和 SHA1。