[D6] Comment renseigner le paramètre "FieldInfo" de la fonction Excel "Workbooks.OpenText" ?
Je cherche à importer le résultat d'une requête SQL (affichée dans une DBGrid) dans Excel.
Ca, pas de problème (je le fais depuis des années).
Le problème, c'est pour empêcher Excel de modifier les données que je lui donne.
Code:
Excel.Workbooks.OpenText(GetRepTemp + szFichier, xlWindows, 1, xlDelimited, xlDoubleQuote, False, False, True, False, False, False, FieldInfo);
Comment remplir le paramètre FieldInfo ?
J'ai essayé de la façon suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| const
xlGeneralFormat = 1;
xlTextFormat = 2;
xlDMYFormat = 4;
var
FieldInfo, Excel: Variant;
begin
FieldInfo := VarArrayCreate([0, QueryAff.FieldCount], varVariant);
for i:=0 to Pred(QueryAff.FieldCount) do
begin
if QueryAff.Fields[i].DataType = ftString then
FieldInfo[i] := VarArrayOf([(i + 1), xlTextFormat])
else if QueryAff.Fields[i].DataType = ftDateTime then
FieldInfo[i] := VarArrayOf([(i + 1), xlDMYFormat])
else
FieldInfo[i] := VarArrayOf([(i + 1), xlGeneralFormat]);
end; |
Mais, j'obtiens l'erreur :
Citation:
Le type ne correspond pas
Je suis allé voir la msdn (http://msdn.microsoft.com/en-us/libr....opentext.aspx), mais je n'ai pas trouvé ce qui ne va pas.
Une idée ?
:hola: