2013-04-06 115 views
1

我希望能够使用Sendwait函数使用powershell命令自动化MS-ACCESS应用程序。不幸的是,我一直无法以通常的方式获得实际应用程序窗口的句柄。我可以得到MS-ACCESS本身的一个句柄,但是尝试使用Sendwait来自动化窗口失败。使用powershell自动化MSACCESS应用程序

+0

[Microsoft.VisualBasic.Interaction] :: AppActivate(“MSACCESS”) [System.Windows.Forms.SendKeys] :: SendWait(“123456”)不起作用,因为我没有处理实际应用程序窗口。 – user2252961 2013-04-06 20:57:55

回答

6

任何你需要发送密钥的原因?为什么不只是使用有问题的对象的方法和属性。

只要进入:

要启动Access,打开一个数据库,然后打印一份报告,然后退出?

$Acc = New-Object –com Access.Application 

$Acc.OpenCurrentDataBase("c:\t.accdb") 
$Acc.docmd.OpenReport("rptCustomers") 
$Acc.Quit() 

所以大多数,如果不是所有的方法和访问应用程序的性能可以通过电源外壳使用,并且作为一个结果,我不认为你需要也不想要使用某种类型的发送键来尝试这往往是相当愚蠢的和自动化的东西穷人的方式。你可能想指出什么命令或你需要什么,但你也可以这样调用VBA代码,并且如上所述,甚至添加记录等。