我想将一个单元格区域复制并粘贴到Excel中的另一个区域中。我当前的代码将公式复制到新范围。但是,我只希望复制单元格值,而不希望将公式绑定到该单元格。我怎样才能做到这一点?
$copy3 = $worksheet.range("AF9:AF705").copy()
$paste3 = $worksheet.range("P9:P705").pastespecial($copy3)
答案 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