Office VBA の WinAPIを64bitに対応しようとした時に絶対に覚えなくてはならないのがLongPtrである。 Declare文の64bit対応に関しては以前次のような記事を書いたが、LongPtrの置き換えの考え方に関しては説明を省略していた。 今回は64bit対応のためにPtrSafe/LongPtrが実装された経緯について、私なりの解釈について説明する。 あくまで個人的に「たぶんこうだったんだろう」と理解したことであり、公式に得た情報ではないので注意するように。 www.excel-chunchun.com 何故PtrSafeが生まれたのか LongLongとは一体何なのか 何故LongPtrが生まれたのか 今後どうしたら良いのか 1. Declare文の修正 2. APIを呼び出す側の引数や戻り値のデータ型の修正 3. 符号なし整数への対策 4. VarPtrへの対策