Excel zum x-ten... Sorry.



  • Um gleich vorzubeugen: FAQ und Suchfunktion haben mir genau bis zu diesem Punkt geholfen, an dem ich jetzt aber nicht weiterkomme:
    BCB 6.0 pro
    Office2k
    Win2k

    Also, ich habe eine ExcelApplication, ein ExcelWorkbook und ein ExcelWorksheet, und die AusleseRoutinen funzen auch ganz wunderbar, die Schreibe-Geschichte dafür mal so gar nicht!!!
    Ich versuche, StringGrid-Einträge in die Excel-Datei zu übertragen.
    Ich hab's jetzt mit set_Item(...), set__Default(...) in den Versionen
    Range->Cells->... und Worksheet->Cells->... und einigen anderen versucht, ohne Erfolg.
    Der Code sieht folgendermaßen aus:

    void TDBase::SaveXlsFile(wchar_t *FileName)
    {
      tagVARIANT t;
      int i,j;
      RangePtr CellRange;
    
      t = EmptyParam;
      ExcelApplication1->Workbooks->Open(FileName,t,t,t,t,t,t,t,t,t,t,t,t,flcid);
      ExcelWorkbook1->ConnectTo(ExcelApplication1->get_ActiveWorkbook());
      ExcelWorksheet1->ConnectTo(ExcelWorkbook1->get_ActiveSheet());
    
      CellRange = ExcelWorksheet1->Cells->SpecialCells(xlCellTypeLastCell);
      for (i = 0; i < XlsSheetData->RowCount-1; i++)  {
        for (j = 1; j < XlsSheetData->ColCount; j++)  {
          ExcelWorksheet1->Cells->set >set_Value(Variant(XlsSheetData->Cells[j][i]));
        }
      }
    
      t = EmptyParam;
    
    //  void __fastcall SaveAs(VARIANT Filename, VARIANT FileFormat, VARIANT Password,
    //                         VARIANT WriteResPassword, VARIANT ReadOnlyRecommended,
    //                         VARIANT CreateBackup, Excel_2k::XlSaveAsAccessMode AccessMode,
    //                         VARIANT ConflictResolution, VARIANT AddToMru,
    //                         VARIANT TextCodepage, VARIANT TextVisualLayout,
    //                         long lcid)
      ExcelWorkbook1->SaveAs( Variant(FileName),
                             Variant(xlNormal),
                             Variant(""),
                             Variant(""),
                             Variant(false),
                             Variant(false),
                             xlExclusive,
                             Variant(xlLocalSessionChanges), //(xlUserResolution),
                             Variant(false),
                             t,t,
                             flcid);
    return;
    }
    

    Und ich kann Euch sagen: Der Frust macht deutlich Boden gut! 😡

    Na klasse, jetzt habe ich glatt die Frage vergessen aufzuschreiben:
    Hat jemend eine AHnung, warum set_Item(...) und set__Default(...) nicht tut, wo's doch fehlerfrei übersetzt wird und in den anderen Funktionen mit ähnlichem Aufruf (ich meine das mit den Variant-Konvertierungen) auch gut läuft?
    und vor allem: Was kann ich stattdessen mal ausprobieren?


Anmelden zum Antworten