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

时间:2018-06-20 14:59:19

标签: ms-access access-vba autohotkey

使用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

1 个答案:

答案 0 :(得分:1)

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

首先,StringReplace是已贬值的函数,当前函数是StrReplace

第二,您似乎正在尝试将/的所有实例更改为\,但是,这并不是您使用该功能所要完成的。实际上,您正在做相反的事情。您可能想做的是StringReplace, MyDb, MyDb, /, \, All

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