Powershell 스크립트를 사용하여 수식을 Excel 테이블에 삽입합니다. 수식을 수동으로 입력하면 올바르게 작동합니다. 내가 $names
배열의 3 개 요소가 있다고 가정 :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++
}
:. 첫 번째 셀은 정확한 값을 얻을 수 있지만, 공식 이름 (예 : 대신 =COUNT('Sheet2'!D:D)
의 내가 =('Sheet2'!D:D)
를 얻을, 다른 2 던져 0x800A03EC
예외없는 시트 나는 복사하여 붙여 넣기 값을 수동으로 인쇄하면 write-host $formula
수동으로, 그것은 예상대로 작동합니다.
또한 다른 시트를 참조하지 않는 경우 어떤 예외도 throw하지 않습니다. :
,423,210UPDATE :
엑셀 2016에서 엑셀 2010과 관련된 문제처럼 보인다, 같은 코드는 잘 작동합니다.
그 코드는 저에게 잘 작동합니다. 오피스 버전이 있어야합니다. – wp78de