IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Ouvrir Word avec des données HF CS


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 55
    Points : 0
    Points
    0
    Par défaut Ouvrir Word avec des données HF CS
    Bonjour,

    Je viens solliciter votre aide, car je ne comprend pas et donc je n'arrive même pas à savoir vers ou me diriger pour apprendre et comprendre.

    J'ai développé une application de gestion de client.

    J'aimerai maintenant pour cliquer sur un bouton qui m'ouvrirai un document word en reprenant les données du contact en cours. A savoir, nom prenom adresse... etc, dans un fichier mais aussi les données le concernant dans un autre fichier dans mon cas commande passé et montant de l'encours. Bref en gros prendre des données existantes et les mettre dans word a des endroits spécifié.
    J'ai lu l'aide, le projet WD pilotage word mais nada je ne comprends toujours pas.

    Si quelqu'un pourrait me donner une piste je serasi heureux.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    Je connais une solution que j'ai utilisé il y a longtemps.

    Le publipostage. Le principe est de faire des champs paramétrables dans un document word et d'y injecter des données à partir d'une base de donnée.
    Il faut piloter word, en effet. Ca marche mais...

    J'avais dû mettre en œuvre cette méthode mais ce que je lui reprochais, c'est que pendant que word se lançait parfois encore, le programme continuait son exécution et exécutait trop tôt les instructions qui suivaient et qui exécutaient le publipostage. Il avait fallu mettre une boucle d'attente mais sans avoir de retour de word qui te dises "j'ai fini de me charger" et de "charger" le document". Malgrès cela, ca marchait, mais pour moi, cela restait une solution que l'on m'avait demandé de mettre en œuvre mais que je n'aurais pas choisi personnellement.

    Tu peux faire des etats avec wdetat.

    Je te donnes une demi-réponse mais tu peux voir ce qu'il y a au bout.
    La connaissance s'accroît quand on la partage.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    Juin 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : Juin 2009
    Messages : 221
    Points : 371
    Points
    371
    Par défaut
    et utilises lanceAppli...avec comme paramètre exebloquant. Testes sur plusieurs Pc, et même des lents pour voir comment cela se comporte. Peut-être que maintenant les problèmes que j'ai connu ne se reproduiront pas.
    La connaissance s'accroît quand on la partage.

  4. #4
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 995
    Points
    1 995
    Par défaut
    Hello,
    Léonidas34 (que je salue au passage) te donne une première ébauche concernant le mailing par Word.
    L'avantage du Mailing Word (à l'époque) était de permettre aux programmeurs que nous sommes d'utiliser des documents de Type Office afin de laisser la libre imagination des mises en page, des logos, des infos aux utilisateurs finaux. Or, depuis qu'il est possible de diffuser Etats et requetes, je n'en vois plus l'utilité (quoi que).

    Pour revenir au mailing Word:
    - Avoir une procédure qui intialise Word en mode invisible
    - Avoir une procédure qui prépare le document Word
    - Avoir une procédure qui imprime le document Word
    Tu trouveras tout cela dans l'aide et ou dans l'exemple donné avec Windev (depuis la version 5 ou 5.5 de mémoire).

    ou bien

    Tu fais un état de type mailing (une feuille par enregistrement, saut de page en rupture de nom_client par exemple) et tu pourras là aussi faire ton mailing.

    Aujourd'hui, je te préconise la seconde solution qui est plus portable et qui s'absout complétement des versions d'Office. De plus, je le répéte, avec Etats et requêtes, plus de soucis.

    Voilà des pistes, à toi de jouer
    le savoir est dans les livres, 'the magic touch F1'
    Amicalement
    Eric

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2006
    Messages : 48
    Points : 72
    Points
    72
    Par défaut
    Hello

    Sinon si tu veux vraiment rester avec le couple windev+word, Il y aussi le principe des signets(bookmark).

    Principe :
    Tu constitues un fichier word et tu ajoutes des signets qui feront office de champs.

    et puis tu pilotes word avec windev


    exemple de pilotage :
    voici la procédure principale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    DocWord est un objet Automation "Word.Application"
     
    SI fFichierExiste(stchemin) ALORS
    	Sablier(Vrai)
     
    	DocWord>>documents>>add(stchemin)
    	DocWord>>visible=Faux
    	prcecritword(DocWord,"E01EQU",0,valeur)
    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
    PROCEDURE prcecritword(xWord,signet,longueur,valeur)
     
    stvaleur est une chaîne
     
    // il faut vérifier si le signet existe sinon on ignore 
     
    SI xWord>>ActiveDocument>>bookmarks>>exists(signet) ALORS
     
    	// ----
    	SI longueur<>0 ALORS
    		stvaleur=Complète(valeur,longueur)	
    	SINON
    		stvaleur=valeur
    	FIN
     
    	xWord>>ActiveDocument>>bookmarks>>item(signet)>>range>>text=stvaleur
    FIN
    L'avantage de cette méthode : on peut formater le document word comme on veut. Il faut juste respecter le nom des signets
    mais le gros défaut est la vitesse
    tu vois vraiment les zones se compléter à l'écran

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2009
    Messages : 55
    Points : 0
    Points
    0
    Par défaut
    Merci à tous.

    Maintenant j'hésite.

    Je suis parti sur la solution rapide de l'Etat/Requête avec l'utilitaire.

    Mais j'ai quand même envie d'essayer avec Word,... je vais essayer.

Discussions similaires

  1. Remplir un formulaire WORD avec des données Excel
    Par Giant25 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2015, 16h31
  2. Réponses: 40
    Dernier message: 02/12/2007, 16h24
  3. Ouvrir un formulaire avec des données vierges
    Par cfidko dans le forum IHM
    Réponses: 2
    Dernier message: 11/06/2007, 12h33
  4. Réponses: 6
    Dernier message: 11/07/2006, 10h56
  5. Créer du xml avec des données Oracle
    Par Baumont dans le forum Oracle
    Réponses: 3
    Dernier message: 23/11/2005, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo