Gar*_*eth 10 macros powershell ms-access
我正在尝试使用以下代码在PowerShell(v4.0 Windows 8.1)中运行Access 2010宏:
$Access = New-Object -com Access.Application
$Access.OpenCurrentDatabase("SomePath", $False, "Password")
$Access.Run("SomeProc")
$Access.CloseCurrentDatabase()
$Access.Quit()
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($Access)
Remove-Variable Access
Run Code Online (Sandbox Code Playgroud)
我在行上$Access.Run("SomeProc")发现错误,指出没有足够的参数:
使用"1"参数调用"Run"的异常:"参数数量无效.(HRESULT异常:0x8002000E(DISP_E_BADPARAMCOUNT))"
该过程SomeProc不需要任何参数.
我已经阅读了关于run方法的msdn文章,只需要一个参数.
我也尝试过这种解决方法,但也因为一个无关的原因而无法工作.
有谁知道错误的原因是什么以及如何使该方法工作?
这是 OLEDB 库无法正确加载的驱动程序问题。
我能够准确地重现您的错误,并且我能够通过从 SysWow 目录而不是 System32 打开 Powershell 来解决该问题。
尝试打开此版本的 Powershell(您必须再次运行 set-executionpolicy),然后查看它是否会执行您的脚本。
%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe