投稿者 てつ  (社会人) 投稿日時 2023/11/12 20:57:00
32bit版EXCEL VBAで8バイト符号なし整数を扱うには、どうすればいいですか?

Win32APIのFindFirstFileでファイル検索した時、第2引数のWIN32_FIND_DATAに
ファイルサイズがDWORDで「nFileSizeHigh」と「nFileSizeLow」で返ります。
このファイルサイズをVBAで取得したいです。
https://learn.microsoft.com/ja-jp/windows/win32/api/minwinbase/ns-minwinbase-win32_find_dataw

10GBのテストファイルを作って試したところ、以下の値が返りました。
「nFileSizeLow」-2147483648
「nFileSizeHigh」2

(Highを32bit左シフト)+ Low でいいと思うのですが、VBAでのコーディングがわかりません。
&H200000000+&H80000000=8,589,934,592+2,147,483,648=10,737,418,240/1024
希望結果はExplorerと同じ「10,485,760」KBです。