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.

Connessione al server proxy office15client.microsoft.com

Se all’avvio di Excel o Word 2013 appare una finestra:

Connessione al server proxy office15client.microsoft.com
Immettere credenziali

può essere che la rete in cui si sta lavorando blocchi l’accesso verso il sito office15client.microsoft.com.

Per risolvere il problema, andare dal menu di Excel o Word su:

File -> Opzioni -> Centro protezione -> Impostazioni Centro protezione… -> Opzioni privacy (vedi immagine seguente)

togliere la spunta da tutte le voci che si trovano nella sezione Opzioni privacy.

Nella versione inglese, andare dal menu:

File -> Options -> Trust Center -> Trust Center Settings… -> Privacy Options (vedi immagine seguente)

togliere la spunta da tutte le voci che si trovano nella sezione Privacy Options.

Nota: ho trovato un sito che faceva togliere la spunta soltanto da “Consenti a Office di connettersi a internet” (in inglese: “Allow office to connect to the internet”), ma a me non è bastato.