如何使用Powershell复制和粘贴没有单元格公式的单元格?

时间:2019-01-10 04:03:17

标签: excel powershell

我想将一个单元格区域复制并粘贴到Excel中的另一个区域中。我当前的代码将公式复制到新范围。但是,我只希望复制单元格值,而不希望将公式绑定到该单元格。我怎样才能做到这一点?

$copy3 = $worksheet.range("AF9:AF705").copy() $paste3 = $worksheet.range("P9:P705").pastespecial($copy3)

1 个答案:

答案 0 :(得分:1)

这是一个Excel问题,而不是PowerShell问题。因此,您需要查看Excel对象模型以确保使用正确的代码。

Range.PasteSpecial Method (Excel)

您实际上正在使用PowerShell作为这项工作的一部分,这确实是没有根据的。

工作簿示例:

$xl=new-object -com excel.application
$xl.displayAlerts = $false # don't prompt the user
$xl.visible = $true
$xl.displayAlerts=$false

#$xlPasteValues = $wb1.Range('A1','A1')

$wb1=$xl.workbooks.open($SourceWorkbook, $null, $true)
$wb2=$xl.workbooks.open($TargetWorkbook)

$targetRange=$wb2.Worksheets.Item($TargetWorksheet).Range('B3','B3')

$wb1.Worksheets.Item($SourceWorksheet).Range('C5','C5').copy()
$wb2.Worksheets.Item($TargetWorksheet).Activate()

$targetRange.PasteSpecial(-4163)

此外,在这种情况下,您还可以直接分配值,例如:

targetRange.Value=SourceRange.Value