使用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 可能是啥?

将多个表(或整个模式)从一个集群复制到另一个集群

如何将EXCEL中的多个表格复制到另一个表格中

我们如何将 azure 存储帐户表复制到另一个存储帐户?

如何使用 Excel VBA 将特定行从多个工作表复制到另一个工作表?

VBA使用自动筛选器将值复制到另一个工作表