Bonjour � tous !
J'aimerais lancer une macro Excel � partir de Borland. est ce que qq'un a une id�e sur la mani�re dont je dois m'y prendre ??
Merci d'avance ,
Linda
Bonjour � tous !
J'aimerais lancer une macro Excel � partir de Borland. est ce que qq'un a une id�e sur la mani�re dont je dois m'y prendre ??
Merci d'avance ,
Linda
Commence d�j� par regarder comment piloter Excel � partir de BCB :
http://lfe.developpez.com/Excel/
Ensuite pour lancer une macro Excel, tu fais comme ceci :
Code : S�lectionner tout - Visualiser dans une fen�tre � part vMSExcel.Exec(Procedure("Run") << MacroLocationAsAnsiString);
Meric pour le lien BCB.. j'en avais d�j� pris connaissance et je suis maintenant bien familiariser avec Excel pour lui balancer des tables et de cr�er un tableau dynamique � partir de ces donn�es..
Par rapport � ta r�ponse, je n'ai pas pr�cis� que je programme sous Borland C++ 6 et que je n'ai pas la possibilit� d'utiliser ke code que tu m'as envoy�..
Une autre question..Est-il possible de pr�ciser le nom de ma macro lors de l'appel � celle-ci car je vais en cr�er plusieurs..
Merci bcp !
Linda
Pourtant ce code fonctionne correctement sous Borland C++ Builder 6 PRO. Qu'est ce qui te fait dire le contraire ?Envoy� par pilpagouna
C'est l'argument MacroLocationAsAnsiString.Envoy� par pilpagouna
et bien parce que pour me connecter � distance � Excel, j'utilise des TExcelApplication, TExcelWorkbook, TExcelWorksheet et que je n'utilise pas le type Variant vMSExcel..[/url][/code]
Il est certainement possible de lancer une macro Excel aussi � l'aide des composants Office que tu utilises (ceux-ci utilisent de toutes fa�ons OLE). Malheureusement ces composants sont extr�mement mal document�s et je ne peux pas t'indiquer la syntaxe correcte. Essaie de voir s'il y a une m�thode pour r�cup�rer le Variant (objet OLE).
Effectivement, tu avais raison, en approfondissant les m�thodes du TExcelApplication, j'en ai trouv� une qui renvoit un Variant (ExecuteExcel4Macro) prenant un param�tre wchar_t *String, longlcid...
Je vais essayer de voir ce que je peux faire avec �a...
Je te remercie bcp pour tes r�ponses![]()
Linda
En fait, il ya une commande Run dans laquelle on sp�cifie le nom du classeur excel ainsi que les param�tres de la macro:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 TVariant Resultat = AnsiString("ModeleTriColl.xls!Macro2"); TVariant Param1 = GetCurrentDir(); ExcelApplication->Run(Resultat,Param1 , EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam);
Partager