如何使用PowerShell从Excel中的命名范围返回单元格范围(例如A10:C20)

我需要知道如何使用PowerShell从Excel中一个名为“Items”的命名范围返回一个单元格范围(例如A10:C20)。 我想删除“项目”(B10:B20)第二栏中的条目。 我试图使用.RefersToLocal方法返回范围,但它不返回任何东西。 我是PowerShell的新手。 感谢您的帮助。

$Path = "C:\file.xls" $Excel = New-Object -ComObject Excel.Application $Excel.Visible = $false $Workbook = $Excel.Workbooks.Open($Path) $page = 'Main' $ws = $Workbook.worksheets | where-object {$_.Name -eq $page} $ws.Range("Items").RefersToLocal 

您可以直接使用范围,然后使用范围元素的列属性(B列为2)清除并保存,如下所示:

 $Path = "i:\named.xls" $Excel = New-Object -ComObject Excel.Application $Excel.Visible = $false $Workbook = $Excel.Workbooks.Open($Path) $page = 'Main' $ws = $Workbook.worksheets | where-object {$_.Name -eq $page} $namedarea = $ws.Range("items") $namedarea | ?{$_.column -eq 2} | %{$_.clear()} $excel.Save()