• 締切済み

Excel VBAで絶対アドレスのメモリ読込方法

Excel VBAでフラッシュメモリ空間のメモリ読込方法を教えて下さい. C言語なら,ポインタで型宣言と配列の大きさをして,アドレスをポインタに入力すればできると言われましたが,そもそもExcelのVBAで読み込みたいのでよくわかりませんでした. 例えば,32Bit Floating Pointで,Addessが,0x00000B00で,Lengthが0x0000A028とかの場合,どうしたら読み込めるのでしょうか? 専用のアプリはあるのですが,データは8分割され収納されているので, それをいちいち8回起動して読み込み,8回csvデータに保存し, そのcsvからExcelに貼り付けているので,最初からExcelマクロのVBAで読み込めたら良いかな と思いました. どなたか良い方法があれば,ドンピシャでなくても良いので,お教え下さい.試してみたいと思います. よろしくお願いいたします.

みんなの回答

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.1

RtlMoveMemory API を使うとか。 --- Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As LongPtr) Sub hoge() Dim ptr As LongPtr Dim B(0 To 9) As Byte ptr = &H10000000 CopyMemory B(0), ByVal ptr, 10 End Sub