2011-09-15 145 views
0

我使用VBScript和QTP自動化的傢伙。我在尋找一個更好的腳本語言自動化Windows應用程序(包括文字的最新版本,Excel和PowerPoint),我不喜歡的VBScript監守我必須鍵入很多拿東西done.Also QTP許可費矗立在對抗方式總是使用它。我看到Perl很棒,因爲它不使用複雜的語法。自動化應用程序有多好?任何專家的建議是珍惜。處理任務的Perl

回答

3

ActivePerl更加集成到Windows比Strawberry Perl更集中於與* NIX版本的Perl一致。

  • 的activeperl提供了一些它自己的事情,他們一直想在Windows做圖書館,有一個名爲「PPM」(Perl的包管理器),一個像樣的安裝GUI,並安裝所有模塊文檔的瀏覽帶框架的網頁。

  • 草莓Perl,我相信可以在Windows上使用forkexec,並且試圖讓Windows內核看起來更像是在* NIX上運行。

在兩個:

Win32::OLE可以處理你與VBA做的東西。我已經很成功地使用它了。如果您願意,您可以在OLE對象周圍編寫包裝對象來創建更適合您的應用程序域的對象。

  • 注意這似乎從大量的實驗寫作適配器類的那個對象的身份被打破OLE和ActiveX對象 - 或者至少必須重新設計。不要依靠能夠通過簡單的Perl手段指出一個包裝對象指向與另一個包裝對象相同的包裝對象。這意味着,不要相信Data::Dumper的內置遍歷邏輯。如果你沒有設置$Data::Dumper::Maxdepth,你幾乎總是會耗盡內存,試圖轉儲一個OLE對象。由於許多VBA對象持有指向Application對象的指針,因此幾乎可以肯定的是,轉儲OLE對象將循環。

另外,在CPAN上有許多Win32::*庫。

總的來說,我發現Perl的是一個強大的 - 雖然有時有缺陷的 - 的Windows automater - 但它通常是我的第一選擇,無論如何。

+0

有趣,注意:從很久以前Win2K系統資源工具包中使用的Perl大部分的服務器管理任務(這是前微軟得到了智能和創建的PowerShell)。 – atrain

+0

草莓和ActivePerl在執行fork和exec時行爲不同。模塊文檔可在search.cpan.org上找到,因此在Strawberry上禁用本地文檔安裝。 –

+0

謝謝Axeman。我猜WMI類和對象可以通過perl來控制嗎? – Sivakumar