2010-07-12 357 views
2

我想使用Powershell将工作表从一个工作簿复制(或移动)到另一个工作簿。将Excel工作表从一个工作簿复制到另一个工作簿使用Powershell

我以前做过这件事,不记得如何。我想我使用了CopyTo()函数。

刚开始。

$missing = [System.Type]::missing 
$excel = New-Object -Com Excel.Application 

$wb1 = $excel.Workbooks.Add($missing) 
$wb2 = $excel.Workbooks.Add($missing) 

# Now, to copy worksheet "Sheet3" from $wb2 into $wb1 as second worksheet. 
# How? 

回答

7

post从Kiron

更改索引复制到第二片:

$file1 = 'C:\Users\eric\Documents\Book1.xlsx' # source's fullpath 
$file2 = 'C:\Users\eric\Documents\Book2.xlsx' # destination's fullpath 
$xl = new-object -c excel.application 
$xl.displayAlerts = $false # don't prompt the user 
$wb2 = $xl.workbooks.open($file1, $null, $true) # open source, readonly 
$wb1 = $xl.workbooks.open($file2) # open target 
$sh1_wb1 = $wb1.sheets.item(2) # second sheet in destination workbook 
$sheetToCopy = $wb2.sheets.item('Sheet3') # source sheet to copy 
$sheetToCopy.copy($sh1_wb1) # copy source sheet to destination workbook 
$wb2.close($false) # close source workbook w/o saving 
$wb1.close($true) # close and save destination workbook 
$xl.quit() 
spps -n excel 
+0

哇,感谢.. 很多额外的信息来改善我的代码。 – idazuwaika 2010-07-13 13:39:47

+0

+1为原来的海报信用! – technomalogical 2010-07-15 14:45:47

+0

所有的工作都很好,除了我有一个问题。复制后,目标工作表将保持被复制部分的选定状态。我该如何停用? – Rudra 2016-10-13 12:06:14

相关问题