Hi!
Danke erst mal für den guten Tip, das hat mir schon was geholfen, leider komm ich trotzdem nicht dahinter was ich falsch mache!
Ich paste hier mal meinen code und vielleicht kannst du mir sagen wie ich das alles einbauen muss!
TBauteil_Nr_Check *Bauteil_Nr_Check;
Variant XL, v0, v1, v2;
tagVARIANT destValue, srcValue;
int iRow = 0;
//---------------------------------------------------------------------------
__fastcall TBauteil_Nr_Check::TBauteil_Nr_Check(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
[B]void __fastcall[/B] TBauteil_Nr_Check::LoadbuttonClick(TObject *Sender)
{
[I] //Erstellen und öffnen einer bestehenden (!) Excel Tabelle [/I]
XL=CreateOleObject("Excel.Application.8");
XL.OlePropertySet("Visible",true);
v0=XL.OlePropertyGet("Workbooks"); [I]//Workbooks = ??[/I]
[I] /* Datei öffnen */ [/I]
v0.OleFunction("Open",QPfad->Text);
v1 = v0.OlePropertyGet( "Application" );
v2 = v1.OlePropertyGet("Worksheets") ; [I]//Worksheets = ??[/I]
[I]/* Schleife für Datenverarbeitung */[/I]
[B]do[/B]
{
[I]/* Übergabe des Strings aus dem Datenfald an ein neues tagVariant zur Umwandlung */[/I]
srcValue = v2.OlePropertyGet("Item",1).OlePropertyGet("Cells").OlePropertyGet("Item",(iRow+1),12).OlePropertyGet("Value");
HRESULT hr = VariantChangeType( &destValue, &srcValue, 0, VT_BSTR );
[B]if[/B](FAILED(hr))
{
cout<<"fehler...";
}
[B]else[/B]
{
[I]/* Hier soll nach einem Buchstaben in dem String gesucht werden, der dann das Jahr bestimmt.
In BuchstJahr stehen die Zeichen die das entsprechende Jahr kennzeichnen */[/I]
[B]for[/B](int j = 0; j<strlen(BuchstJahr); j++)
{
[I]/* So hatte ich es mir vorgestellt */[/I]
[B]if[/B](dextValue.bstrVal[11] == BuchstJahr[j])
{
[I]/* Ausgabe des Jahres */[/I]
v2.OlePropertyGet("Item",1).OlePropertyGet("Cells").OlePropertyGet("Item",(iRow+1),13).OlePropertySet("Value", Jahr[j]);
}
}
}
iRow++;
}
[B]while[/B](v2.IsEmpty() == false);
XL.OlePropertySet("DisplayAlerts",false); [I]//unterdrückt die Warnung beim schließen des Servers[/I]
[I]//Speichern[/I]
XL.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs",ZPfad->Text);
[I]//Schließen[/I]
XL.OleProcedure("Quit");
XL=Unassigned;
}
tja und das ist mein code...