Mit Builder 5, eine Exceldatei öffnen (Office 2007)



  • Hallo, ich versuch mich gerade am öffnen eines Excelfiles,...
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39259.html

    Variant Excel;
         Excel = Variant::CreateObject("Excel.Application");
    
         Excel.OlePropertyGet("ActiveWorkBook");
         // Excel-Datei öffnen
            Excel.OlePropertyGet("WorkBooks").OleFunction("Open","C:\\test.xls");
    
         // Sichbar machen
         Excel.OlePropertySet("Visible",1);
    
         Variant Sheet;
         Sheet=Excel.OlePropertyGet("ActiveSheet");
         ShowMessage(Sheet.OlePropertyGet("Cells",1,1).OlePropertyGet("Value")); ;)
    

    Leider läuft das Prog so nicht bei mir,...

    es kommen folgende Fehlermeldungen:

    [C++ Fehler] sysvari.h(1842): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [C++ Fehler] sysvari.h(1842): E2449 Größe von 'args' unbekannt oder Null
    [C++ Fehler] sysvari.h(1842): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [C++ Fehler] sysvari.h(1843): E2094 'operator+' ist im Typ 'TAutoArgs<1>' für Argumente des Typs 'int' nicht implementiert.
    [C++ Fehler] sysvari.h(1844): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [C++ Fehler] sysvari.h(1844): E2285 Keine Übereinstimmung für 'Variant::OleFunction(const AnsiString,undefined)' gefunden
    [C++ Fehler] sysvari.h(2561): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [C++ Fehler] sysvari.h(2561): E2449 Größe von 'args' unbekannt oder Null
    [C++ Fehler] sysvari.h(2561): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [C++ Fehler] sysvari.h(2562): E2094 'operator+' ist im Typ 'TAutoArgs<1>' für Argumente des Typs 'int' nicht implementiert.
    [C++ Fehler] sysvari.h(2563): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [C++ Fehler] sysvari.h(2563): E2285 Keine Übereinstimmung für 'Variant::OlePropertySet(const AnsiString,undefined)' gefunden
    [C++ Fehler] sysvari.h(2462): E2450 Undefinierte Struktur 'TAutoArgs<2>'
    [C++ Fehler] sysvari.h(2462): E2449 Größe von 'args' unbekannt oder Null
    [C++ Fehler] sysvari.h(2462): E2450 Undefinierte Struktur 'TAutoArgs<2>'
    [C++ Fehler] sysvari.h(2463): E2094 'operator+' ist im Typ 'TAutoArgs<2>' für Argumente des Typs 'int' nicht implementiert.
    [C++ Fehler] sysvari.h(2463): E2094 'operator+' ist im Typ 'TAutoArgs<2>' für Argumente des Typs 'int' nicht implementiert.
    [C++ Fehler] sysvari.h(2464): E2450 Undefinierte Struktur 'TAutoArgs<2>'
    [C++ Fehler] sysvari.h(2464): E2285 Keine Übereinstimmung für 'Variant::OlePropertyGet(const AnsiString,undefined)' gefunden
    *

    Wenn ich mal den unteren Teil auskommentiere, hab ich festgestellt,
    dass es hier zum problem kommt:

    Excel.OlePropertyGet("WorkBooks").OleFunction("Open","C:\\test.xls");
    

    Ich habs auch mit

    Excel.OlePropertyGet("WorkBooks").OleFunction("Open","C:\\test.xls[b]x[/b]");
    

    versucht, --> Gleicher Fehler

    Hab ich vergessen irgendwas einzubinden??
    Ich habe Office 2007, liegt es daran??
    Wo mach ich den Fehler?

    Gruß



  • borland-verzweifler schrieb:

    Hallo, ich versuch mich gerade am öffnen eines Excelfiles,... [...]

    Hallo,

    was spricht gegen ShellExecute()? Oder willst du dann noch mit der geöffneten Excel-Datei weiter arbeiten?

    MfG



  • Hallo Kolumbus, danke für die Antwort,
    ja ich muss Daten von dort auslesen und als String bereit haben...

    nach weiteren recherchen habe ich das hier gefunden:
    http://www.bcb-box.de/html/excel_steuern.html

    Dort habe ich FirstExcel.zip ausprobiert,...

    Das gleiche:
    Beim Start (F9) kommen folgende Fehlermeldungen:
    *
    [C++ Fehler] sysvari.h(2561): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [C++ Fehler] sysvari.h(2561): E2449 Größe von 'args' unbekannt oder Null
    [C++ Fehler] sysvari.h(2561): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [C++ Fehler] sysvari.h(2562): E2094 'operator+' ist im Typ 'TAutoArgs<1>' für Argumente des Typs 'int' nicht implementiert.
    [C++ Fehler] sysvari.h(2563): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [C++ Fehler] sysvari.h(2563): E2285 Keine Übereinstimmung für 'Variant::OlePropertySet(const AnsiString,undefined)' gefunden
    *

    Hm??



  • borland-verzweifler schrieb:

    [...]
    *[C++ Fehler] sysvari.h(2561): E2450 Undefinierte Struktur 'TAutoArgs<1>'
    [...]
    *
    Hm??

    Klingt eindeutig: in sysvari.h wird eine Struktur angesprochen, die der Compiler nicht kennt... Der Rest sind IMHO Folgefehler. Finde doch mal heraus, wo / ob die Struktur definiert wird.



  • hi,

    Ich fand dasselbe problem,

    #include <utilcls.h>

    war die Losung bei mir.

    Christiaan


Anmelden zum Antworten