2013-04-06 36 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代碼,並且如上所述,甚至添加記錄等。