ACCESSのMDBファイルを使用していて、何らかのプロシージャを実行したとき、
未定義関数Dirがあります等のエラーが発生することがある。
【解決法】
レジストリのSandboxModeの値を2にする
【操作】
スタートからファイル名を指定して実行を選択し、
「regedit」と入力しEnter。
レジストリエディタが起動するので、検索で「SandBoxMode」を探すか
以下のパスを辿って見つけて値を変更してください。
\\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet4.0\engines\SandboxMode
※これで解決しない場合、他に考えられる原因はOfficeのアップデートを
適用していない場合があります。
その場合、アップデートすると解決することがあります。
SandBoxModeが見つからない
2019年9月2日追記
通常、レジストリを検索すれば「SandBoxMode」が見つかると思うのですが、特定のバージョンでは見つからない場合があるようです。
今回見つからなかったのはMicrosoft Office 2016の場合でした。
この場合、新たに値を作成すればうまくいきました。
Office 2016の場合は以下のようにパスを辿ってください。
\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Access Connectivity Engine\Engines
そしてEnginesの中に値を作成します。
レジストリエディタの右側のボックスを右クリックし、[新規]-[DWORD(32ビット)値]と選択します。
名前は「SandBoxMode」と入力し、値に2を設定します。
他のバージョンについては以下のURLを参考にしてください。
サンドボックス-モードのオン-オフを切り替えてマクロを無効にする