[OleExcel]Entrer des valeurs dans des cellules
bonjour à tous!!!
Je tente de maitriser le pilotage de d'excel par BCB v4. Je veux integrer des valeurs lues dans un fichier txt dans une feuille Excel.
Mon problème vient de cette erreur :
[C++ Erreur] sysvari.h(2473): E2015 Ambiguïté entre 'TVariantT<tagVARIANT>::operator =(const TVariantT<tagVARIANT> &)' et 'TVariantT<tagVARIANT>::operator =(bool)'.
Cela pointe sur le fichier sysvari.h
Code:
1 2 3 4 5 6 7
| template <class P1>
Variant Variant::OlePropertyGet(const String& name, P1 p1)
{
TAutoArgs<1> args;
args[1] = p1;
return OlePropertyGet(name, static_cast<TAutoArgsBase*>(&args));
} |
Et mon code est :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString IniPath = ExtractFileDir(ParamStr(0));
String FileName = IniPath + "\\TestExcel.xls" ;
TStringList *point=new TStringList; //Creation de la StringList
String sTabExcel[10] = {"A1","A2","A3","A4","A15","A6","A7","A8","A9","A10"};
int i,j; //index
//Ouverture d'excel
vMSExcel = Variant::CreateObject("Excel.Application");
vMSExcel.OlePropertySet("Visible", true);
//Création d'un classeur
//vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
//vXLWorkbook = vXLWorkbooks.OleFunction("Add");
//Ouverture du classeur
vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
vXLWorkbook=vXLWorkbooks.OleFunction("Open", FileName.c_str());
//mettre dans la feuille donne
vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", "Donne");
//lecture du fichier txt
sFileName = IniPath + "\\point.crb";
point->LoadFromFile(sFileName);
//Tant que la lecture n'est pas de 10 valeurs
while((i-1)!= 10 )
{
vRange = sTabExcel[i-1];
vCell = vWorksheet.OlePropertyGet("Range", vRange); //aller à la cellule
vValue = i;
vCell.OlePropertySet("Value", vValue); // initialisé à la nouvelle valeur de la cellule
i++;
}
}
delete point; //effacer le contenu de la StringList
} |
Auriez vous une petite idée pour m'aider :roll: