以编程方式将链接添加到 Excel 电子表格

Programmatically Add Links to Excel Spreadsheet

我正在通过 PowerShell 向可变长度的传播sheet 添加链接,但无论我如何操作,我都会 运行 出错。这是我目前正在尝试工作的循环,它嵌套在 excel comobject 中,其中 $sheet 代表 $excel.activeworkbook.activesheet :

$v = 2
foreach($i in $list){
    $r = "A"+$v
    $link = "www.url.com"
    $sheet.Hyperlinks.Add($r,$link)
    $v++
}

不断抛出以下错误:

Exception setting "Add": Cannot convert the "A2" value of type "string" to type "Object".
At C:\hyperlink_wip.ps1:31 char:5
+     $sheet.Hyperlinks.Add($r,$link)
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : RuntimeException

在此示例中,$list 是一个列表,其中包含来自此传播sheet 的一列的信息,并且始终与传播sheet 本身的长度相同。 spreadsheet 也有一个 header 行,所以我想要超链接的单元格从 A2 开始。我还尝试了概述 here 的方法,用于将链接添加到 excel 传播sheet,但每次尝试时都会出现格式错误。

$r 不是 Range or Shape. Here's the Add Method on MSDN

以下是如何在代码中使用它的示例:

$v = 2
foreach($i in $list){
    $r = $sheet.range("A"+$v)
    $link = "www.url.com"
    $sheet.Hyperlinks.Add($r,$link)
    $v++
}