Как скопировать и вставить ячейки без формулы ячейки с помощью Powershell? - PullRequest
0 голосов
/ 10 января 2019

Я хочу скопировать и вставить диапазон ячеек в другой диапазон в Excel. Мой текущий код копирует формулы в новый диапазон. Однако я хочу, чтобы копировались только значения ячеек, а не формула, привязанная к ячейке. Как я могу это сделать?

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

1 Ответ

0 голосов
/ 10 января 2019

Это вопрос 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...