2012-03-08 75 views
0

我有幾個excel文件,其中每個文件都有多個工作簿。如何使用PowerShell在Excel中保留必要的工作簿?

假設以下是工作簿名稱。

Introduction 
Testcase 
Testresult 

此外,假設所有的XLS文件是同一個文件夾下(對於例如:C:\服務器)

Testsample.xlsx 
TestExecution.xlsx and few more xlsx files ... 

我想創建結果文件,其中僅TestResult中工作簿應該在那裏。

結果文件一樣,

Testsample-res.xlsx TestExecution-res.xlsx 和幾個結果XLSX文件

如何只保留在新的XLS文件的TestResult工作簿? (使用PowerShell腳本)

回答

2

這將舉動的TestResult中板到一個新的Excel文檔(更換移動()的複製()離開源文檔的原片):

$xl = New-Object -ComObject Excel.Application 
$xl.Visible=$true 
$wb = $xl.Workbooks.Add('D:\Book1.xlsx') 
$wb.Sheets.Item('Testresult').Move() 
$xl.ActiveWorkbook.SaveAs('D:\Testresult.xlsx') 
$xl.Quit() 
+0

好友,它有效,如果它有一個單一的Excel文件。對不起,先不提。我沒有一個xls文件。我有4或5個xlsx文件。我試圖把你的解決方案放在foreach循環中,它會拋出異常。「你不能在一個空值表達式上調用一個方法。」我已經編輯了一下我的問題。 – Samselvaprabu 2012-03-08 14:06:20

+0

感謝哥們。我已經在一個函數內寫入了代碼,並通過foreach循環調用它。它工作正常。你的答案被接受 – Samselvaprabu 2012-03-09 07:17:35

相關問題