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

MFC Discussion :

Automation Word


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Par défaut Automation Word
    Hello,

    J'aimerai pouvoir utiliser un fichier Word ecrit auparavant et modifier des champs particuliers qui sont par exemple identifiable par des crochets, pour ensuite les remplacer par des valeurs de mon choix.
    J'ai commencé mes recherches sur l'utilisation des fichiers word avec automation aujoud'hui.
    J'ai trouvé quelques pistes mais si quelqu'un aurait la gentillesse de me donner quelques autres tuyaux , ca serait bien cool ...
    Merci d'avance ...

    Afan

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Par défaut
    J'ai reussi à ouvrir une instance de word, à ouvrir mon fichier mais j'aimerai savoir si quelqu'un connait un site d'aide sur les fonctions des differentes classes utilisés (_document,document,selection,etc...) de word.
    En effet j'aimerai, mais je ne trouve pas, selectionner un mot clef que j'aurai defini et le changer par une variable de mon programme.
    C un peu le principe du publipostage, sauf que les variables, sont des variables du programme.
    Si quelqu'un a une idée, une piste, un indice, quoique ce soit, n'hesitez pas à me repondre.
    Merci !!

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Salut

    Pour utiliser l'automation, avec Visual C, ouvre l'outil OLE/COM Object Viewer, sélectionne Type Librairies / Microsoft Word xx.xx (ta version) et tu double clique dessu et tu auras tous les interfaces à ta disposition.

    Tu as aussi ce lien :
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dno2kta/html/comaddins.asp

    Maintenant bon courage
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Par défaut
    Je te remercie.
    Mais ce qui m'aiderait c l'aide sur ces interfaces

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Par défaut
    Tu as de l'aide là :
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dno2kta/html/comaddins.asp
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  6. #6
    kor
    kor est déconnecté
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 46
    Par défaut
    J'ai déjà répondu à ce type de message "utilisation de Word automation". J'ai meme laisse du code. Recherche dans le forum et si tu trouves pas poste un message.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Par défaut
    salut,

    Merci de repondre a mon post!
    J'ai vu ton code et justement j'ai deux trois questions à te poser.
    Premierement j'aimerai savoir si tu as reussi à trouver de la doc sur les differentes classes utilisés par word automation.
    Deuxiement, dans ton exemple, tu utilises une methode de publipostage; pourrais tu m'exposer la maniere dont tu créés ton doc et sais tu si l'on peut remplacer les signets du doc par des valeurs de variable de mon programme ( en fait il s'agit de realiser une facturation personnalisée à l'aide d'un modele de document word). Cela ne me parait pas possible par ton exemple.
    Je te remercie de ton aide

  8. #8
    kor
    kor est déconnecté
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 46
    Par défaut
    J'ai utilisé MSDN pour obtenir les classes à utiliser. En fait c'est très frustrant car l'aide MSDN est pour VB et n'est du tout adapté pour mfc. Il faut donc lire entre les lignes. Tous les paramètres qui sont en "options" en vb ne le sont pas MFC...

    Si j'ai bien compris, tu veux remplir tes "signets" par une variable et non par un fichier texte ( comme je le fais). Le soucis que j'ai rencontré est que la fusion de documents est réalisable avec des fichiers texte, des bookmarks et un ou deux autres éléments. Mais le seul qui permettait des manipulation en mémoire était les bookmarks. J'ai pas réussi à trouver d'autres infos la dessus. Du coup je suis obligé de passer par un fichier intermédiaire (c'est pas top)et d'insérer mes champs statiquement dans le fichier .doc à la main . Et l'utilisation des bookmarks ne me semblais pas adapté mais c'est apparemment la seule méthode pour travailler en mémoire. J'ai trouvé que c'est infos maintenant si tu en as d'autres je suis preneur!

    En fait pour créer la fusion:
    1) "outils->publipostage", tu crée ton document principale (fenetre active).

    2) "Obtenir les données", en fait tu dois pointer sur ton fichiers "source de données, ce fichier contient les données à fusionner.

    3) ensuite tu fusionne (si tu veux le faire sous word!).

    Le pb est que lien entre le doc principale et la source de données est fait statiquement sous word donc si tu changes de répertoire le fichier, ca marche plus!

    Tout ce que je t'ai dit est vrai pour Word97.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 57
    Par défaut
    He ouais, je suis bien embété car il faudrait que je fasse ce fichier texte à la volée en fonction de mes variables.
    Dans un premier temps pourrais tu me donner un exemple de ton fichier texte et de ton fichier word.
    Sinon j'ai eu une autre idée qui n'a pas encore tout a fait murri, c d'identifier des mots clefs par differentes methodes(par crochet, par font ou par attribut(souligné, gras) et de les remplacer par les valeurs
    Exemple

    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
     
    	_Document    doc(pDocWord.Open(vFileName,    //FileName 
                                   vOpt,         //ConfirmConversions 
                                   vFalse,        //ReadWrite
                                   vOpt,         //AddToRecentFiles 
                                   vOpt,         //PasswordDocument 
                                   vOpt,         //PasswordDocument 
                                   vOpt,         //Revert 
                                   vOpt,         //WritePasswordDocument 
                                   vOpt,         //WritePasswordTemplate 
                                   vOpt,         //Format 
                                   vOpt,         //Encoding 
                                   vOpt          //Visible 
                             ));
    Words word = doc.GetWords();
    long lnr = word.GetCount();
    _Font font;
    for(int i=1;i<lnr;i++)
    {
    Range range;
    range = word.Item(i);
    CString csTest = range.GetText();
    font = range.GetFont();
    if(csTest=="BONJOUR")
    range.SetText("Salut");
    if(csTest=="WORD")
    range.SetText("ClientOffice");
    }
    Mais ce n'est pas facile à utiliser les items car il laisse des espaces, il prend les crochets comme un item etc ...
    Je poursuis mes recherches et je te tiens au courant...
    Merci en tout cas de ton aide et des premiers pas que tu as effectué.
    Si t'as des nouvelle idées n'hesite pas a me tenir au courant...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Automation] Word
    Par tom63400 dans le forum Access
    Réponses: 5
    Dernier message: 21/12/2005, 09h08
  2. [Automation Word] Texte en Gras
    Par uskiki85 dans le forum Access
    Réponses: 1
    Dernier message: 07/10/2005, 21h51
  3. [MFC] - Automation Word bug
    Par Alice9 dans le forum MFC
    Réponses: 3
    Dernier message: 25/05/2005, 16h47
  4. [C#] [Automation Word] Récupérer la valeur d'une cellule
    Par Ditch dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/06/2004, 15h57
  5. [AUTOMATION WORD]Pilotage Word par Delphi
    Par Sunny dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 05/12/2002, 17h09

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