AutoHotKeys 脚本以只读方式打开 Access 文件

AutoHotKeys script opens Access file as read-only

使用 AutoHotkeys 在未知路径中启动 Microsoft Access 应用程序,脚本仅在按字面给出路径和文件名时才有效。当脚本改为使用变量时,Access 将以只读方式打开文件。

为什么?有解决办法吗?

脚本是否缺少某些权限?

文件正常打开使用:

acc := ComObjCreate("Access.Application")
acc.OpenCurrentDatabase("d:\MyDatabases\MyDB.accdb")
acc.Visible := true
acc := Nothing

文件以只读方式打开:

MyDB := A_ScriptDir "/MyDB.accdb"
StringReplace,MyDB,MyDB,\,/,All
acc := ComObjCreate("Access.Application")
acc.OpencurrentDatabase(MyDB)
acc.Visible := true
acc := Nothing

编辑:

我找到了一个有效的替代品:

MyDB := A_ScriptDir "/MyDB.accdb"
StringReplace,MyDB,MyDB,\,/,All
acc := ComObjGet(MyDB)
acc := Nothing

因此,您的问题很可能与您正在使用的StringReplace功能有关。

首先,StringReplace是折旧函数,当前是StrReplace

其次,您似乎正试图将 / 的所有实例更改为 \,但是,这不是您使用该函数完成的。事实上,你在做相反的事情。您可能想做的是 StringReplace, MyDb, MyDb, /, \, All

这会将 / 的所有实例更改为 \,而不是将 \ 更改为 /,这在这种情况下更有意义。