我试图使用以下代码在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
在$Access.Run("SomeProc")
这一行出现错误,提示没有指定足够的参数:
调用带有"1"个参数的"Run"时出错: "无效的参数数量。(来自 HRESULT: 0x8002000E (DISP_E_BADPARAMCOUNT))"
过程SomeProc
不需要任何参数。
我已经阅读了关于run方法的MSDN文章,并且只需要一个参数。
我也尝试了这个解决方法,但由于与问题无关而未能正常工作。
是否有人知道这个错误的原因以及如何使方法有效?
$Access.Run("SayHello")
,其中 SayHello 是一个公共子程序,仅包括MsgBox "Hello Word!"
? - HansUp