Eccezione da HRESULT: 0x800A03EC PowerShell
Dopo aver eseguito questo comando PowerShell che incolla una formula dentro una cella di un file Excel:
$excelObject = New-Object -ComObject Excel.Application $targetWorkbook = $excelObject.Workbooks.Open($myFile) $firstSheet = $targetWorkbook.Worksheets.Item(1) $firstSheet.Cells.Item(6,2).Formula = "=SE(VAL.ERRORE(MEDIA(..."
appariva il seguente errore:
Eccezione da HRESULT: 0x800A03EC In riga:1 car:1 + $firstSheet_N.Cells.Item(6,2).Formula = "=SE(VAL.ERRORE(MEDIA(..." + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [], COMException + FullyQualifiedErrorId : System.Runtime.InteropServices.COMExcep tion
Dopo qualche ricerca e qualche intuizione, ho ricondotto l’errore alle impostazioni internazionali di Excel.
Ho modificato l’ultima riga nel modo seguente:
$firstSheet.Cells.Item($r,2).FormulaLocal = "=SE(VAL.ERRORE(MEDIA(..."
Come si vede, al posto di .Formula ho usato .FormulaLocal che fa funzionare il passaggio di stringhe con le impostazioni internazionali locali (inclusi i separatori,…).
Ho rilanciato lo script e ha funzionato tutto correttamente.