使用PowerShell将整个工作表复制到另一个工作表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用PowerShell将整个工作表复制到另一个工作表相关的知识,希望对你有一定的参考价值。
已经有一些帖子关于如何复制 - 移动一个WS或复制一些范围,但我感兴趣的是如何将整个WS作为值复制到另一个工作簿中已经存在的WS中。这是我试过的:
$obj_excel = New-Object -ComObject Excel.Application
$obj_excel.DisplayAlerts = $false # don't prompt the user
# Open source and target files
$wb_source = $obj_excel.Workbooks.Open($SourceFile, $null, $true) # open source, readonly
$wb_target = $obj_excel.Workbooks.Open($TargetFile) # open target
[void]$wb_target.Sheets.Item($TargetSheet).Copy()
[void]$wb_source.Sheets.Item($SourceSheet).PasteSpecial(-4163)
$wb_source.Close($false) # close source workbook w/o saving
$wb_target.Close($true) # close and save destination workbook
$obj_excel.Quit()
它显然不起作用。
答案
如果您只想复制内容,则无法使用Copy()
对象的Worksheet
方法。使用Copy()
对象的Range
方法(特别是Cells
集合):
$wb_source.Sheets.Item($SourceSheet).Cells.Copy()
$wb_target.Sheets.Item($TargetSheet).Cells.PasteSpecial(-4163)
以上是关于使用PowerShell将整个工作表复制到另一个工作表的主要内容,如果未能解决你的问题,请参考以下文章
在 Excel 中将某些特定单元格从一个工作表复制到另一个工作表的 VBA 可能是啥?