質問: VBAで今まで動いていたWin64 APIのコードが突然、2019年のゴールデンウイーク中に動かなくなりました。
回答: 回答ではないのですが、hat********さんへ LongPtr はVBAのバージョン7以降(Excel2010以降だったと思う)から用意された疑似変数で、例えば Dim d as LongPtr と言う命令があった場合、32ビットのExcelでは4バイトの Dim d as Long に解釈され、64ビットのExcelでは8バイトの Dim d as LongLong に解釈されます。 これを使えば、32ビットも64ビットも同じAPIの宣言で済みます。 なので質問の Dim hwnd As LongPtr は、32ビット版では Dim hwnd As Long と同じ事になります。