2009-03-13 11 views
2

Ich schreibe eine Anwendung, die die Microsoft.Office.Interop.Excel-Assembly zum Exportieren/Importieren von Daten aus Excel-Tabellen verwendet. Alles lief gut (außer 1-basierter Indizierung und all diesen optionalen Parametern!), Bis ich versuchte, bedingte Formatierung zu verwenden. Wenn ich Range.FormatConditions.Add aufruft, bekomme ich eine MissingMethodException, die mir sagt, dass keine solche Methode existiert. Dies geschieht sowohl in Vista als auch in XP.Excel Interop: Range.FormatConditions.Add wirft MissingMethodException

Hier ist ein Beispiel für den Code, der die Ausnahme erzeugt:

//1. Add a reference to Microsoft.Office.Interop.Excel (version 11.0.0.0) 
//2. Compile and run the following code: 

using Microsoft.Office.Interop.Excel; 

class Program 
{ 
    static void Main(string[] args) 
    { 
     Application app = new Application(); 
     Workbook workbook = app.Workbooks[1]; 
     Worksheet worksheet = (Worksheet)workbook.Worksheets[1]; 
     Range range = worksheet.get_Range("A1", "A5"); 
     FormatCondition condition = range.FormatConditions.Add(
      XlFormatConditionType.xlCellValue, 
      XlFormatConditionOperator.xlBetween, 
      100, 
      200); 
    } 
} 

Antwort

0

Das Add() -Methode für FormatConditions Schnittstelle hat 8 Parameter, nicht AFAIK gibt es keine Erweiterungs-Methode in Excel.Extensions Namespace für diesen Typ. Haben Sie im obigen Beispiel eine Erweiterungsmethode verwendet oder ...?

+0

Ich habe in letzter Zeit nicht mit Excel-Interop gearbeitet, aber IIRC die Methodensignatur für 'Add' in Version 12 der Excel-Interop-Bibliotheken zu 8 Parameter geändert. Office 2007 ermöglicht den Zugriff über Version 11. In Version 11 ist die Signatur 4 Parameter. Die Kompilierung mit Version 11 (aus Gründen der Abwärtskompatibilität) erzwingt die Verwendung von 4 Parametern, funktioniert aber zur Laufzeit nicht. Das war der Fehler, den ich hatte. Die Verwendung von Reflektion, wie sie durch den Link Gavin Miller gezeigt wird, löste das Problem. –

Verwandte Themen