使用Powershell将Excel工作表从一个工作簿复制到另一个工作簿

6

我希望使用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?
1个回答

13

请参考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

除了一个问题之外,一切都正常。复制后,目标工作表仍然被选中。如何取消选中? - Rudra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接