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
。
这会将 /
的所有实例更改为 \
,而不是将 \
更改为 /
,这在这种情况下更有意义。
使用 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
。
这会将 /
的所有实例更改为 \
,而不是将 \
更改为 /
,这在这种情况下更有意义。