1
可変長のスプレッドシートへのリンクをPowerShell経由で追加しようとしていますが、どのように行ってもエラーに遭遇しています。プログラムでExcelスプレッドシートへのリンクを追加
$v = 2
foreach($i in $list){
$r = "A"+$v
$link = "www.url.com"
$sheet.Hyperlinks.Add($r,$link)
$v++
}
次のエラーを投げ続ける:これは私が現在の$ excel.activeworkbook.activesheetを表す$シートで、Excelのcomobject内にネストされ、仕事をしようとしていたループである
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はこのスプレッドシートの1つの列の情報を含むリストであり、常にスプレッドシート自体と同じ長さになります。スプレッドシートにもヘッダー行があるため、ハイパーリンクするセルはA2から始まります。私はまた、Excelのスプレッドシートへのリンクを追加するためのhereの方法を試しましたが、試したときに間違ったフォーマットエラーが発生しました。
'$のr'は[' Range'](https://msdn.microsoft.com/ではありませんen-us/library/office/ff838238.aspx)または「シェイプ」。ここでは、[Add Method on MSDN](https://msdn.microsoft.com/en-us/library/office/ff822490.aspx) – BenH
@BenH、あなたは正しいです。 $ rを$ sheet.range( "A" + $ v)に変更すると、問題が修正されました。 – Cameron
@BenH、回答としてあなたのコメントを投稿するなら、私はそれを受け入れます。 – Cameron