ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Transfert rapide de données Foxpro vers Excel   



L'auteur

Thierry
France France
Membre Simple
# 0000000016
enregistré le 13/10/2004

52 ans
PERRETIER Thierry
92800 PUTEAUX
Fiche personnelle


Note des membres
pas de note

Contributions > 09 - Automation > Excel

Transfert rapide de données Foxpro vers Excel
# 0000000151
ajouté le 22/02/2005 16:04:42 et modifié le 22/02/2005
consulté 11274 fois
Niveau initié

Version(s) Foxpro :
VFP 7.0

Description

Voici une méthode pour effectuer rapidement le transfert des données d'un tableau Foxpro vers une plage de cellules Excel.

L'utilisation d'une macro Excel créé temporairement, est rendu nécessaire car il n'est pas possible pour VFP d'affecter un tableau à une propriété (value d'un objet range), tandis que c'est possible en tant qu'argument d'une fonction.

Code source :
local oXls as excel.application
local oXb as excel.workbook
oXls = createObject("excel.application")
...
oWb = oXls.activeWorkbook

*--- créer temporairement une macro Excel

SET TEXTMERGE TO "c:\tmp\inserer_tableau.bas" NOSHOW
    \Attribute VB_Name = "Inserer_tableau"
    \Sub inserer(tableau, ligne, colonne)
    \    Range(Cells(ligne, colonne), Cells(ligne + ubound(tableau,1) - 1, colonne + ubound(tableau,2) - 1)).Value = tableau
    \End Sub
SET TEXTMERGE TO
oWb.VBProject.VBComponents.Import("c:\tmp\inserer_tableau.bas")

*--- Tableau Foxpro

LOCAL ARRAY tableau(1,1)
tableau(1,1)=""

SELECT valeur1, valeur2,;
      "=LC(-2)+LC(-1)",;
      texte ;
    FROM table;
    INTO ARRAY tableau

*--- insérer les données à partir de la cellule A3 (L3C1)
oXls.Run("inserer",@tableau,3,1)

*-- supprimer la macro EXCEL
WITH oWb.VBProject.VBComponents
    .Remove(.Item("Inserer_tableau"))
ENDWITH

Commentaires
Aucun commentaire enregistré ...

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3