何らかの理由により、Powershellスクリプトを使用して数式をExcelテーブルに挿入しています。数式を手動で入力すると正常に動作します。私は=('Sheet2'!D:D)
、および他の2スロー0x800A03EC
例外を取得まずセルが正しい値を取得しますが、式の名前など(不足している代わりに=COUNT('Sheet2'!D:D)
のシート:Powershellを使用して別のワークシートを参照する数式を挿入できません
$excel = New-Object -ComObject excel.application
$excel.visible = $true
$workbook = $excel.Workbooks.Add()
$names = @()
foreach ($i in 1,2,3) {
$ws = $workbook.Worksheets.Add()
$names += $ws.Name
}
$i = 1
foreach ($sheet in $names) {
$formula = "=COUNT('$sheet'!D:D)"
write-host $formula
$excel.cells.item($i, 1).Formula = $formula
$i++
}
何が起こること:私は$names
配列の3つの要素があるとします。私は、私はコピー&ペーストの値は手動でwrite-host $formula
によって印刷場合に予想されるとして、それが動作するためdefinetely、存在参照。
また、私は別のシートを参照しない場合は正常に動作するようです。以下のコードは、例外をスローしません。 :
$formula = "=COUNT(D:D)"
$excel.cells.item($i, 1).Formula = $formula
UPDATE:
はエクセル2016でエクセル2010に固有の問題のように思える、同じコードが正常に動作します。
そのコードは私のためにうまく動作します、あなたのOfficeバージョンで何かでなければなりません。 – wp78de