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

时间:2017-04-04 17:57:45

标签: excel powershell powershell-v5.0

我正在通过PowerShell添加可变长度电子表格的链接,无论我怎么做,我都会遇到错误。这是我正在尝试进行的循环,它嵌套在一个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是一个列表,其中包含此电子表格的一列中的信息,并且始终与电子表格本身的长度相同。电子表格也有一个标题行,所以我要超链接的单元格从A2开始。我还尝试使用概述here的方法添加指向excel电子表格的链接,但每次尝试时都会出现格式错误。

1 个答案:

答案 0 :(得分:3)

$r不是RangeShape。这是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++
}