答案 0 :(得分:0)
假设包含VBA代码的MSAccess数据库位于包含EXE文件的同一目录中,您可以通过将以下行添加到VBA代码来将当前目录更改为:
ChDir Left(CurrentDB.Name, InstrRev(CurrentDB.Name, "\") - 1)
这应该在Shell
陈述之前的某个地方完成。
如果数据库与EXE不在同一目录中,则可能需要对路径进行硬编码。例如,如果您的Shell
命令当前类似于
Shell "C:\abc\def\xyz.exe"
然后你可以使用
ChDir "C:\abc\def"
Shell "xyz.exe" ' No *need* to include path information anymore
' because it is now in "current" directory
但是,如果您可以访问EXE的代码,最好的解决方案是将EXE更改为与EXE本身位于同一目录中的文件进行读/写,而不是从“当前”目录。