2016-10-21 5 views
0

Le code simple VB.NET pour ouvrir un fichier Excel existant toujours échoué à commande ouverte avec l'erreur suivante:Ouvrir le fichier Excel 2016 a échoué avec HRESULT: 0x800706BE

L'appel de procédure distante a échoué. (Exception de HRESULT: 0x800706BE)

J'ai cherché Stack sites de débordement et Microsoft pour cette erreur, il semble que personne n'a une réponse définitive. Mais une chose cohérente semble être tout se passe avec Excel 64 bits.

Quoi qu'il en soit, je vous demande ici de l'aide à ce problème. Voici mon code très simple:

Imports Microsoft.Office.Interop.Excel 
Dim XLApp As Application = New Application() 
Dim XLWkb as Workbook = XLApp.Workbooks.Open("TestExcel.xlsx") 
Dim XLSht as WorkSheet = XLWkb.Sheet(1) 
XLWkb.Close() 
XLApp.Quit() 
System.Runtime.InteropServices.Marshal.ReleaseComObject(XLSht) 
System.Runtime.InteropServices.Marshal.ReleaseComObject(XLWkb) 
System.Runtime.InteropServices.Marshal.ReleaseComObject(XLApp) 

Le code ci-dessus a gardé défaut à la ligne XLApp.Workbooks.Open avec ce message terrible.

My windows is Windows 7 Enterprise Service Pack 1, 64-bit 
My Excel is 2016 MSO (16.0.6701.1041) 64-bit version. 
My MS Office is MS Office 365 ProPlus -en US (2016 version) 
My VS is Visual Studio Community 2015 Version 14.0.24720.00 Update 1 
Visual Basic 2015 00322-20000-00000-AA181 
My project has the following references: 

    Microsoft.Office.Core: Microsoft Office 16.0 Object Library 
    Microsoft.Office.Interop.Excel : Microsoft Excel 16.0 Object Library 
    VBIDE : Microsoft Visual Basic for Applications Extensibility 5.3 

De plus, je l'ai essayé de mettre le fichier Excel dans mon C: \ Users dossier personnel, essayé d'utiliser aussi « CreateObject("Excel.Application") » pour créer l'application Excel, tous échoué avec le même message d'erreur sur « Ouvrir » appel. Ok, j'ai également essayé ce même programme sur un autre ordinateur Windows 7 Professional 64 bits, avec MS Office 2007 (d'où, la bibliothèque d'objets Microsoft Excel 12.0 etc.), compilé en x86, il a également échoué lors de l'appel 'Open' . Mais avec une autre erreur commune: HRESULT: 0x80010105 (RPC_E_SERVERFAULT), qui a été posté par de nombreux autres développeurs.

Ensuite, j'ai essayé ce même programme sur une machine Windows 8 et compilent à x86 avec Office 2007 et cela a fonctionné très bien.

Donc, à ce stade, je pense que cela est un bug de Microsoft Windows 7 avec le Microsoft.Office.Interop.Excel; donc, je renonce à essayer encore et passer à la version dev Windows autre que 7.

Toute idée serait apprécié.

Répondre

2

La solution pour résoudre cette exception lors de l'appel de la méthode « Open » sur l'application Excel est de mettre en application Excel pour être visible:

Dim XLApp As Application = New Application() 
XLApp.Visible = True 

Ne me demandez pas pourquoi, parce que je ne sais pas , quelqu'un qui peut m'éclairer, s'il vous plaît faites-le.

+0

Très étrange. Cela a fonctionné pour moi aussi ... J'ai récemment obtenu Office 2016 et j'ai dû utiliser ce correctif. – Alex