この記事はこんな方におすすめです
・Access2003のVBAで64bit判定したい方
・Win64関数でエラーになった方
Access2003などで開発された過去の資産をWindows10の環境で使用したい場合に32bitと64bitの壁にぶち当たることがあると思います。
他の方のソースコードを参考にAccess2003のVBAに「If Win64 Then」を実装して実行してみたところ、Access2003の環境ではWin64関数が定義されておらずエラーになってしまいました。
他に良い方法がないか調べてみたところ、きぬあささんのブログに答えがありました。
下記に私が引用したソースコードをそのまま抜粋します。
Public Sub Sample() If Isx64 Then MsgBox "64ビット環境です。" Else MsgBox "64ビット環境ではありません。" End If End Sub Public Function Isx64() As Boolean Dim colItems As Object Dim itm As Object Dim ret As Boolean ret = False '初期化 Set colItems = CreateObject("WbemScripting.SWbemLocator").ConnectServer.ExecQuery("Select * From Win32_OperatingSystem") For Each itm In colItems If InStr(itm.OSArchitecture, "64") Then ret = True Exit For End If Next Isx64 = ret End Function
大変参考になって助かりました。
おかげで32bitと64bitで処理を分岐させることができました!
[blogcard url="https://www.ka-net.org/blog/?p=3779"]