使用 Powershell 从 Excel 选择单元格范围

问题描述 投票:0回答:1

我试图使用 Powershell 脚本从 A55 中选择到从 Excel 中的 A 列填充的最后一行。

我的第一个脚本运行得非常完美

$lastRow = $ivWorksheet.Cells.Item($ivWorksheet.Rows.Count, "A").End(3).Row
$ivRange = $ivWorksheet.Range("A55:A$lastRow")

但是,当我将上面更改为下面时,它不起作用。

$startRow = 55
$lastRow = $ivWorksheet.Cells.Item($ivWorksheet.Rows.Count, "A").End(3).Row
$ivRange = $ivWorksheet.Range("A$startRow:A$lastRow")

我期望两个脚本有相同的结果,但后一个脚本不起作用。请问您是什么原因?

excel powershell rpa
1个回答
0
投票

$startRow:A
在您的第二次尝试中被解释为变量,并且由于该变量未定义,因此它被扩展为
null
:

$startRow = 55; $lastRow = 123
"A$startRow:A$lastRow" # => A123

您需要使用

${ }
来分隔变量,换句话说,指示变量的开始位置和结束位置,以便 PowerShell 可以正确解析它。有关详细信息,请参阅包含特殊字符的变量名称

$startRow = 55; $lastRow = 123
"A${startRow}:A$lastRow" # => A55:123
© www.soinside.com 2019 - 2024. All rights reserved.