旧バージョンとの互換性、アーキテクチャ(86/64bit)の互換性を意識して APIを記述するには何が一番良いか考えてみます。 先に結論を書きますと 「64bit版が登場したOffice2010以上とそれ未満では互換性のとりようがない」です。 64bit版が登場したOffice2010からVBAのバージョンが[7]にアップし API宣言が変化しました。(元の宣言が出来ないわけではありませんが64bit版ではコンパイルエラー) Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) ここで言うと「PtrSafe」と「LongPtr」です。64bit版専用に「LongLong」という型も存在するようですが 「LongPtr」が自動判別(32bitならLong型、64bit型ならLong