我知道如何合并单元格,并且此代码有效:

$MergeCells = $objWorksheet.Range("B1:C1")

$MergeCells.Select()
$MergeCells.MergeCells = $true

我遇到的问题是我正在IIS版本的ForEach服务器循环中执行此操作。因此,尽管我总是会知道列,但我不一定会知道行。该数字将有所不同。

假设它到达列表($x = 5)上的第五台服务器,并且这些单元需要合并。我尝试了这个:
$MergeCells = $objWorksheet.Range("B$x:C$x")

以为计算机会知道我的意思
$MergeCells = $objWorksheet.Range("B5:C5")

但是它什么也没做。没错,只有娜达。

我在这里和Google上进行搜索,但是在每个帖子中,人们都在合并单元格,使他们知道列和行是静态的。如我所说,我的行将是动态的。

有谁知道当行数变化时如何合并单元格?我已经能够在Excel中为单元格使用变量,而对于其他内容也可以使用。

最佳答案

在变量名中使用:字符可指定范围。因此,PowerShell将$x:C视为范围C中的变量x

通过将x括在花括号中,PowerShell将不会在字符串中向前看。

$MergeCells = $objWorksheet.Range("B${x}:C${x}")

10-06 13:54
查看更多