Bonjour,
Je voudrait convertir une variable de type Ansistring afin de l'envoyer sur excel.
Le problème c'est que excel n'accepte que le type Variante...
Si une personne serai faire une conversion Ansistring -> Variante ???
Merci d avance
Bonjour,
Je voudrait convertir une variable de type Ansistring afin de l'envoyer sur excel.
Le problème c'est que excel n'accepte que le type Variante...
Si une personne serai faire une conversion Ansistring -> Variante ???
Merci d avance
Salut jojolastar27
Que veu tu faire exactement, et si tu pouvais mettre le code qui cree le probleme ce serait plus facile
Je voudrait faire sa :
Mais le problème c'est que vValue est une variante et moi je veut envoyer un AnsiString...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Variant vValue, vRange, vCell; AnsiString s; s=Edit1->Text; for(int i=1;i<5;i++) { vCell = vWorksheet.OlePropertyGet("Cells",i,1); vValue = s; vCell.OlePropertySet("Value", vValue);
Normalement le code ecrit comme ceci devrait marche (je n'ai pas teste)
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Variant vValue, vRange, vCell; AnsiString s; s=Edit1->Text; for(int i=1;i<5;i++) { vCell = vWorksheet.OlePropertyGet("Cells",i,1); vValue = s.c_str(); vCell.OlePropertySet("Value", vValue);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Variant vRange, vCell; AnsiString s; s=Edit1->Text; for(int i=1;i<5;i++) { vCell = vWorksheet.OlePropertyGet("Cells",i,1); vCell.OlePropertySet("Value", s.c_str());
Normalement, il me semble qu'il faut utiliser WideString(), OLE travaille en caractères longs, pas en ANSI.
Mais apparemment une chaine littérale sera correctement convertie... tout comme un pointeur vers une chaine de caractères
Code : Sélectionner tout - Visualiser dans une fenêtre à part xlSheet.OlePropertySet("Name",WideString(Vagues->Tabs->Strings[i]));
Il serait intéressant de voir si C++ Builder convertit toujours correctement, ou si cela dépend, en réalité, de l'implémentation de telle ou telle fonction chez Excel et les autres...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 xlSheet.OlePropertySet("Name","ma feuille"); xlSheet.OlePropertySet("Name",unechaine.c_str());
Francois
Dernière modification par Invité ; 16/05/2009 à 23h58.
j'ai tester ton premier code:
Et sa marche nikel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Variant vValue, vRange, vCell; AnsiString s; s=Edit1->Text; for(int i=1;i<5;i++) { vCell = vWorksheet.OlePropertyGet("Cells",i,1); vValue = s.c_str(); vCell.OlePropertySet("Value", vValue);
Merci Blondelle,tu ma aider 2 fois en une journée![]()
Partager