T
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?