Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

Excel VSTO  Addin: Fehler HRESULT 0x80028018 InteropServices.COMException: Altes Format oder ungültige Typbibliothek
 
Problem:
Beim Lesen von Werten in MS Excel aus einer VSTO Anwendung kommt ein Fehler: System.Reflection.TargetInvocationException mit der Detailmeldung, dass ein altes Format vorliegt.
 
Ursache:
Der Fehler tritt auf, wenn man auf MS Excel zugreifen möchte über eine VSTO Anwendung, wobei die Landessprache des installierten Office Produktes nicht in Englisch ist.
VSTO Anwendungen interagieren mit Offce über eine englische Proxy-Schnittstelle, welche immer auf English en-US eingestellt ist.
 
Status: offen

 
Vorgeschlagene Lösung:
Laut Service Infos:
1) Man sollte vor einem Zugriff auf eine Excel-Dokument die CultureInfo auf English umstellen
2) Man sollte zusätzlich das englische Sprachpaket für Office installieren
 
Beispiel in C# Code:


//*Problem HRESULT 0x80028018
//< change Language to English >
System.Globalization.CultureInfo original_Language = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
//</ change Language to English >
 
//< open Excel Worksheet >
Excel.Worksheet activeWorksheet = Globals.ThisAddIn.Application.ActiveSheet;
//< open Excel Worksheet >
 
//< get Cell.Value >
Excel.Range actCell = Globals.ThisAddIn.Application.ActiveCell;
if (actCell.Value2 != null)
{
string sValue = actCell.Value2.ToString();
string sText = actCell.Text;
}
//</ get Cell Value >
 
//< restore language >
System.Threading.Thread.CurrentThread.CurrentCulture = original_Language;
//< restore language >

 
Fazit:
Trotz Umstellungen bleibt der Fehler in Office 2016 bestehen.
 
Zusätzlicher Lösungsvorschlag:
Für den Debugging-Rechner sollte man Microsoft Office komplett löschen und zunächst die Englische Version installieren, sodass MS Office und MS Visual Studio beide in Englisch sind.
 
 
 
*VSTO: Visual Studio Tools for Office
VSTO sind Projekte in Visual Studio, welche auf Microsoft Office Produkte wie Excel, Word, Outlook, Powerpoint zugreifen.
Die Projekte basieren auf der Programmiersprache C# oder vb.net.
 
 
Download des Sprachpaket für Office Produkte:
Language Accessory Pack unter Language-Accessory-Pack-f%C3%BCr-Office-2016

 
Fehlerprotokoll im Breakpoint unter Visual Studio
Error Log:

Value2

 

 

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek.

 

(Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))

--- Ende der internen Ausnahmestapelüberwachung ---

 

bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters)

 

bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)

 

bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)} System.Reflection.TargetInvocationException

 

 

Mobile
»
Excel Addin: Erstellen einer Ribbonbar Buttons für ein vba Excel Addin
»
Benutzerdefinierte Symbolleisten entfernen
»
Einfache Liste aller Ribbonbar Icons mit OfficeIconID
»
Office Icons: Liste der Icons für die Ribbonbar
»
Excel Addin: eine Ribbonbar über VSTO Addin erstellen
»
Notiz, Log Aufschieb: Installation der Englischen Office Developer Tools für Visual Studio VSTO
»
Notiz: Was ist Interop und PIA in Microsoft Office
»
Excel VSTO Addin: Fehler HRESULT 0x80028018 InteropServices.COMException: Altes Format oder ungültige Typbibliothek

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de