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 :

Table vers Word et Open Office


Sujet :

WinDev

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Table vers Word et Open Office
    bonjour,

    Voici mon problème:
    j'ai ecris un document open office dans lequel j'édite des champs pour personaliser le document.
    j'utilise donc un code comme celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DocWord est un objet Automation dynamique 
    DocWord=allouer un objet Automation "Word.Application"
    DocWord>>documents>>open("C:\fiche.doc") 
     
    //remplisage des champs
    DocWord>>Selection>>Find>>Execute(SansEspace("<@date_du_jour>"),OLEFaux,OLEFaux,OLEFaux,OLEFaux,OLEFaux,OLEVrai,1,OLEFaux,DateVersChaîne(DateDuJour()),2) 
     
    docword>>Documents>>Save 
    docword>>Quit() 
    libérer docword
    Cette partie fonctionne parfaitement.


    Maintenant j'essaye d'insérer un tableau (TABLE_XXX) à la place d'un champs ( <@tableau_XXX> ).
    j'ai tenté d'utiliser la fonction tableversword sans succès...

    si vous avez une bonne piste je suis prenneur je patauge completement

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    alors personne n'as de piste?
    Sa dois pourtant etre régulierement utilisé...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    444
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 444
    Points : 428
    Points
    428
    Par défaut
    TableVersWord (Fonction) : "Crée un fichier Word (.RTF) avec les données d'une table (table hiérarchique, table fichier ou table mémoire)."

    Donc cette fonction sert à créer un fichier et non pas à modifier un fichier word. Si tu veux insérer des données dans un fichier Word tu peux très bien continuer à utiliser les objets OLE.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    merci pour cette réponse même si j'ai pas encore réussis.

    J'ai un nouveau problème je travaillais sur un post avec word hors à present mon application dois tourner sans word. Hors je n'arrive pas à faire fonctionner les objet ole pour éditer mes document à travers open office.
    pour le moment j'ai naturellement une erreur à la ligne
    DocWord=allouer un objet Automation "Word.Application"

    j'ai essayé : DocWord=allouer un objet Automation "openoffice writer .Application" (ainsi que d'autres orthographe) mais sa ne fonctionne pas.

    Après des recherches j'en arrive à douter que cela soit possible.
    Suis je donc obligé d'utiliser des macro pour gérer open office? J'ai lue un truc sur la LST 75 je crois mais pas moyen de trouver le moindre renseignement ou bout de code.

    me

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    444
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 444
    Points : 428
    Points
    428
    Par défaut
    Dans les exemples didactiques il y a des exemples WD Pilotage OpenOffice.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    J'ai justement commencé par chercher des exemples mais j'ai rien trouvé mis à part la correction orthographique.
    Petite précision j'utilise WD12 le probleme viens peut etre de la non?

  7. #7
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 344
    Points : 3 860
    Points
    3 860
    Par défaut
    Bonjour,

    Je suis en version 12 et l'exemple pour le pilotage de OpenOffice existe bien.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Lo² tu npourrais faire un copier coller ou me donner le bon mot clef? Car j'ai testé plein de truc mais j'ai pas trouvé...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    444
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 444
    Points : 428
    Points
    428
    Par défaut
    Fichier -> Ouvrir un Exemple -> Exemples didactiques -> WD Pilotage de OpenOffice

  10. #10
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 344
    Points : 3 860
    Points
    3 860
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\WinDev 12\Exemples\Exemples didactiques\WD Pilotage de OpenOffice Writer

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 11
    Points : 4
    Points
    4
    Par défaut table vers openoffice, imperssion et edition
    Merci beaucoup cela devrais vraiment m'aider il semble y avoir plein de choses



    Édit :

    voilà j'ai fait ce que je voulais je vous propose donc mon code (allégé) qui permet de personnaliser un document puis de l'imprimer,. On peut rajouter une boucle et imprimer tous les document souhaités sans soucis.


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    oServiceManager est un objet OLE dynamique
    oDesktop est un objet OLE dynamique
    oDocument est un objet OLE dynamique
    pb est un entier
    pb=0
    Nb_envoie_effectues est entier
    Nb_envoie_effectues=0
    doc_tmp est une chaîne
     
     
    QUAND EXCEPTION DANS
     
    	// Création d'un service OpenOffice si nécessaire
    	oServiceManager = allouer un objet OLE ("com.sun.star.ServiceManager")
    	oDesktop = oServiceManager>>createInstance("com.sun.star.frame.Desktop")
     
    FAIRE
    	pb=1
    	Erreur("OpenOffice n'est pas installé sur votre poste, il est requis pour exectuer cette action")
    FIN
     
     
     
    SI pb =0 ALORS et  Chemin_document <> "" ALORS
     
     
    	fCopyFile(Chemin_document,doc_tmp)	
    	SI fFichierExiste(doc_tmp) ALORS	//fichier trouvé
     
     
    	CheminFormaté est  chaîne							
    	ldispatcher est un objet OLE dynamique
    	OPropertyValue est un tableau de 1 objet Automation dynamique
    	ldispatcher =oServiceManager>>createInstance("com.sun.star.frame.DispatchHelper")				
    	// la fenêtre open office n'apparaitrra pas
    	OPropertyValue[1] =oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    	OPropertyValue[1]>>Name = "Hidden"
    	OPropertyValue[1]>>Value = True
     
     
    	// Formatage du chemin du fichier
    	CheminFormaté = "file:///"+Remplace(doc_tmp,"\","/")
     
    	// Ouverture du fichier dans OpenOffice Writer
    	oDocument = oDesktop>>LoadComponentFromURL(CheminFormaté, "_blank" ,0,OPropertyValue)
     
    	SI oDocument<>Null ALORS			//L'ouverture du fichier à réussis
    		// modification du document
    		oJeCherche est un objet OLE dynamique										 		      		oJeCherche=oDocument>>createReplaceDescriptor()
     
     
    	oJeCherche>>SearchString="<@date_du_jour>"		//
    	oJeCherche>>ReplaceString=DateVersChaîne(DateDuJour())	//
    	oDocument>>replaceAll(oJeCherche)			//emplacement de la date
     
     
     
     
     
    	/impression
    	ParamImpression est un tableau de 1 objet Automation dynamique
    	ParamImpression[1] =oServiceManager>>Bridge_GetStruct("com.sun.star.beans.PropertyValue")
    	ParamImpression[1]>>Name = "CopyCount"
    	ParamImpression[1]>>Value = 1
    	oDocument>>print(ParamImpression)
     
    	//fermeture
    	oDocument>>Dispose()
     
     
    	FIN								
    	FIN
    FIN

    Pour les tableaux je vais bien finir par y arriver je vous mettrai egalement le code

    ps: peut-on éditer le titre pour qu'il soit plus en rapport avec le contenue? (je peut pas éditer mon premier message)

Discussions similaires

  1. [WD14] Exporter table vers Word
    Par nas5_1984 dans le forum WinDev
    Réponses: 11
    Dernier message: 25/02/2017, 09h21
  2. [OpenOffice][Texte] Programmation de Word 2007 à Open Office Writer
    Par morgan47 dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 25/11/2012, 13h41
  3. Lire fichier word ou open office
    Par awlor dans le forum wxPython
    Réponses: 1
    Dernier message: 30/01/2012, 11h29
  4. Réponses: 21
    Dernier message: 11/01/2010, 21h39

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