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
Et mon code est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)); }
Auriez vous une petite idée pour m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }![]()
Partager