Edit nach Excel



  • Hallo,

    ich versuche aus einem Edit-Fenster den Text in eine Excel-Zelle zu schreiben.
    Zur Laufzeit bekomme ich die Fehlermeldung, dass der falsche VariablenTyp verwendet wird. Komme mit der Hilfe der Funktion OlePropertySet nicht zurecht....

    Meine Syntax:

    Sheet.OlePropertyGet("Cells",10,1).OlePropertySet("Value", Edit1->Text);
    

    Bitte um Hilfe!

    Gruß Marc



  • Mach mal aus dem Text im Editfeld einen Variant und übergeb den.



  • Hallo Mike,

    so habe ich das auch schon probiert:

    Variant test;
    test = Edit1->Text;
    Sheet.OlePropertyGet("Cells",10,1).OlePropertySet("Value", test);
    

    funktioniert aber auch nicht...

    Gruß Marc

    [ Dieser Beitrag wurde am 22.04.2003 um 12:17 Uhr von mawiller editiert. ]



  • Also ich würde bemängeln das der Typ von Sheet nicht bekannt ist und du uns noch sagen könntest welche Version du benutzt thx ! :p



  • Hallo 🙂

    Version: BCB 6

    Also so sieht's bei mir aus:

    void __fastcall TForm2::Button1Click(TObject *Sender)
    {
         Variant Excel;
         Excel = Variant::CreateObject("Excel.Application");
    
         Excel.OlePropertyGet("ActiveWorkBook");
         Excel.OlePropertyGet("WorkBooks").OleFunction("Open","C:\\test.xls");
         Excel.OlePropertySet("Visible",1);
    
         Variant Sheet;
         Sheet=Excel.OlePropertyGet("ActiveSheet");
    
         Sheet.OlePropertyGet("Cells",10,1).OlePropertySet("Value",
                             (VARIANT)((Variant)Edit1->Text));
         Excel.OleFunction ("Quit");
    }
    

    jetzt bin ich mal schon soweit, dass ich keine Fehlermeldung wegen dem Typ bekomme, aber nun ist die Zelle leer ?!?!

    Gruß Marc



  • Sheet.OlePropertyGet("Cells",10,1).OlePropertySet("Value",StringToOleStr(Edit1->Text));
    

    btw typcasts gehen mit static_cast<typ>(var) und nicht mit (typ) - casts 🙄

    [ Dieser Beitrag wurde am 22.04.2003 um 14:06 Uhr von 1ntrud0r editiert. ]



  • Ich hab's geschafft 😃
    so geht's:

    Sheet.OlePropertyGet("Cells",10,1).OlePropertySet("Value",StringToOleStr
                                                     (Edit1->Text));
    

    trotzdem vielen Dank!

    Gruß Marc



  • na das war jetzt aber ein Zufall 🙂


Anmelden zum Antworten