OVH Cloud OVH Cloud

insérer le contenu d'un fichier word

5 réponses
Avatar
claude tele2
bonjour à tous
je voudrais pouvoir ouvrir un fichier word et copier son contenu dans un
champ d'un état
pour ouvrir le fichier word, pas de problème, mais après ?
Quelqu'un a-t-il une idée du code à utiliser
merci d'avance
claude

5 réponses

Avatar
Alex
Salut Claude

Je ne sais pas comment tu ouvres ton fichier Word mais si tu l'ouvres
par OLE, il te suffit de réaliser la sélection de la totalité du
texte avec le raccourci CTRL + A et ensuite tu fais copier.

Le contenu de ton document est présent dans le presse papier et il ne
reste plus qu'à partir de WinDev qu'à utiliser la fonction
PressePapier().

Tout ceci est réalisable avec les commandes OLE. Pour les trouver,
créés une nouvelle macro sous Word et simule la sélection et la
copie.

Adaptes le ensuite à WinDev pour l'intégrer dans ton application. Si
tu sais pas faire je te dirais comment.

Bye
claude tele2 wrote:
bonjour à tous
je voudrais pouvoir ouvrir un fichier word et copier son contenu dans un
champ d'un état
pour ouvrir le fichier word, pas de problème, mais après ?
Quelqu'un a-t-il une idée du code à utiliser
merci d'avance
claude


Avatar
claude tele2
bonsoir Alex
merci de ton aide
effectivement, c'est possible comme tu le dis (CTRL +A, copier) puis coller
le presse papier

Je t'explique mon problème: envoyer un mail avec un fichier joint (ou le
contenu du fichier dans le texte du mail)

j'ai donc conçu un état, alimenté par des requêtes, état qui constitue le
corps de mon mail, que j'envoie grâce à la fonction iAperçu :
(j'ai choisi cela parceque çà permet à l'utilisateur de contrôler ce qu'il
envoie et éventuellement, de corriger, ce qui n'est pas possible quand on
envoie le mail directement par du code)
Jusque là, çà fonctionne

Maintenant, je voudrais ajouter le texte d'un fichier word au mail
(La fonction iAperçu ne me permet pas d'envoyer un fichier joint
automatiquement)
Tout ce que j'ai trouvé, c'est donc de copier le contenu du fichier dans le
corps de mon état (dans un champ ou un état imbriqué) : c'est donc là que je
voudrais coller le contenu du fichier

l'idéal serait une automatisation, du genre :
à l'initialisation de l'état,
ouverture d'une fenêtre avec un champ arbre, pour choix du fichier,
ouverture du fichier
puis copier coller le contenu du fichier dans mon état,
fermeture du fichier word
puis iAperçu
et çà roule

merci à toi de ton avis et de tes lumières
:-))
claude

pour la macro qui ouvre le fichier word, sélectionne le texte, et copie dans
le presse-papier, pas de problème


"Alex" a écrit dans le message de news:

Salut Claude

Je ne sais pas comment tu ouvres ton fichier Word mais si tu l'ouvres
par OLE, il te suffit de réaliser la sélection de la totalité du
texte avec le raccourci CTRL + A et ensuite tu fais copier.

Le contenu de ton document est présent dans le presse papier et il ne
reste plus qu'à partir de WinDev qu'à utiliser la fonction
PressePapier().

Tout ceci est réalisable avec les commandes OLE. Pour les trouver,
créés une nouvelle macro sous Word et simule la sélection et la
copie.

Adaptes le ensuite à WinDev pour l'intégrer dans ton application. Si
tu sais pas faire je te dirais comment.

Bye
claude tele2 wrote:
bonjour à tous
je voudrais pouvoir ouvrir un fichier word et copier son contenu dans un
champ d'un état
pour ouvrir le fichier word, pas de problème, mais après ?
Quelqu'un a-t-il une idée du code à utiliser
merci d'avance
claude


Avatar
Alex
Salut Claude

Ne serait'il pas plus simple d'ouvrir dans un premier temps la fenêtre
qui permet de réaliser la sélection du fichier dont tu souhaites
insérer le contenu du fichier dans ton état. De la sorte
l'utilisateur peut annuler l'impression dans un premier temps en
annulant la sélection du fichier.

Pour ce qui est de OLE, le mieux est d'ouvrir le fichier en arrière
plan (par défaut), de réaliser la sélection et la copie et ensuite
dans le bloc d'avant impression du corps de l'état d'utiliser la
fonction PressePapier() pour récupérer ce que tu as copié. Je n'ai
pas personnellement essayé mais je pense que cela doit fonctionner.

Je vais esayer voir ce que cela donne et je te tiens au courant.

Alex

claude tele2 wrote:
bonsoir Alex
merci de ton aide
effectivement, c'est possible comme tu le dis (CTRL +A, copier) puis coll er
le presse papier

Je t'explique mon problème: envoyer un mail avec un fichier joint (ou le
contenu du fichier dans le texte du mail)

j'ai donc conçu un état, alimenté par des requêtes, état qui co nstitue le
corps de mon mail, que j'envoie grâce à la fonction iAperçu :
(j'ai choisi cela parceque çà permet à l'utilisateur de contrôler ce qu'il
envoie et éventuellement, de corriger, ce qui n'est pas possible quand on
envoie le mail directement par du code)
Jusque là, çà fonctionne

Maintenant, je voudrais ajouter le texte d'un fichier word au mail
(La fonction iAperçu ne me permet pas d'envoyer un fichier joint
automatiquement)
Tout ce que j'ai trouvé, c'est donc de copier le contenu du fichier dan s le
corps de mon état (dans un champ ou un état imbriqué) : c'est donc là que je
voudrais coller le contenu du fichier

l'idéal serait une automatisation, du genre :
à l'initialisation de l'état,
ouverture d'une fenêtre avec un champ arbre, pour choix du fichier,
ouverture du fichier
puis copier coller le contenu du fichier dans mon état,
fermeture du fichier word
puis iAperçu
et çà roule

merci à toi de ton avis et de tes lumières
:-))
claude

pour la macro qui ouvre le fichier word, sélectionne le texte, et copie dans
le presse-papier, pas de problème


"Alex" a écrit dans le message de news:

Salut Claude

Je ne sais pas comment tu ouvres ton fichier Word mais si tu l'ouvres
par OLE, il te suffit de réaliser la sélection de la totalité du
texte avec le raccourci CTRL + A et ensuite tu fais copier.

Le contenu de ton document est présent dans le presse papier et il ne
reste plus qu'à partir de WinDev qu'à utiliser la fonction
PressePapier().

Tout ceci est réalisable avec les commandes OLE. Pour les trouver,
créés une nouvelle macro sous Word et simule la sélection et la
copie.

Adaptes le ensuite à WinDev pour l'intégrer dans ton application. Si
tu sais pas faire je te dirais comment.

Bye
claude tele2 wrote:
> bonjour à tous
> je voudrais pouvoir ouvrir un fichier word et copier son contenu dans un
> champ d'un état
> pour ouvrir le fichier word, pas de problème, mais après ?
> Quelqu'un a-t-il une idée du code à utiliser
> merci d'avance
> claude


Avatar
Alex
Ben je viens d'essayer et cela fonctionne sans souci.

J'ai créé une zone de saisie avec un bouton pour sélectionner mon
doc word. le document sélectionné, je l'ouvre en OLE, je sélectionne
le contenu de ce dernier et je le copie avec le code suivant :

NomFichier = fSélecteur("c:","","Selection Fichier Word","Document
Word (*.doc)" + TAB + "*.doc","doc",fselExiste)
SI fRep(NomFichier, frFichier) <> "" ALORS
Doc>>documents>> open(NomFichier)
Doc>>Selection>>wholestory()
Doc>>Selection>>copy()
Doc>>quit()
SINON
RETOUR
FIN

NomFichier est le nom de ma zone de saisie.

Ensuite j'ai créé un état avec un libellé dans le bloc corps. Je
lance l'impression et dans le corps du bloc j'utilise :

Libelle1 = pressepapier().

Ce que je ne comprends pas c'est que si avant je fais
info(Pressepapier()) j'ai un message vide. En fait lors du premier
appel à PressePapier() cela ne semble pas bien fonctionner mais cela
fonctionne ensuite bien par la suite. va y comprendre quelque chose.

Mon etat est de type Etat avec données venant de la programmation.

En espérant t'avoir aidé.

Alex

Alex wrote:
Salut Claude

Ne serait'il pas plus simple d'ouvrir dans un premier temps la fenêtre
qui permet de réaliser la sélection du fichier dont tu souhaites
insérer le contenu du fichier dans ton état. De la sorte
l'utilisateur peut annuler l'impression dans un premier temps en
annulant la sélection du fichier.

Pour ce qui est de OLE, le mieux est d'ouvrir le fichier en arrière
plan (par défaut), de réaliser la sélection et la copie et ensuite
dans le bloc d'avant impression du corps de l'état d'utiliser la
fonction PressePapier() pour récupérer ce que tu as copié. Je n'ai
pas personnellement essayé mais je pense que cela doit fonctionner.

Je vais esayer voir ce que cela donne et je te tiens au courant.

Alex

claude tele2 wrote:
> bonsoir Alex
> merci de ton aide
> effectivement, c'est possible comme tu le dis (CTRL +A, copier) puis co ller
> le presse papier
>
> Je t'explique mon problème: envoyer un mail avec un fichier joint (ou le
> contenu du fichier dans le texte du mail)
>
> j'ai donc conçu un état, alimenté par des requêtes, état qui constitue le
> corps de mon mail, que j'envoie grâce à la fonction iAperçu :
> (j'ai choisi cela parceque çà permet à l'utilisateur de contrôl er ce qu'il
> envoie et éventuellement, de corriger, ce qui n'est pas possible quan d on
> envoie le mail directement par du code)
> Jusque là, çà fonctionne
>
> Maintenant, je voudrais ajouter le texte d'un fichier word au mail
> (La fonction iAperçu ne me permet pas d'envoyer un fichier joint
> automatiquement)
> Tout ce que j'ai trouvé, c'est donc de copier le contenu du fichier d ans le
> corps de mon état (dans un champ ou un état imbriqué) : c'est don c là que je
> voudrais coller le contenu du fichier
>
> l'idéal serait une automatisation, du genre :
> à l'initialisation de l'état,
> ouverture d'une fenêtre avec un champ arbre, pour choix du fichier,
> ouverture du fichier
> puis copier coller le contenu du fichier dans mon état,
> fermeture du fichier word
> puis iAperçu
> et çà roule
>
> merci à toi de ton avis et de tes lumières
> :-))
> claude
>
> pour la macro qui ouvre le fichier word, sélectionne le texte, et cop ie dans
> le presse-papier, pas de problème
>
>
> "Alex" a écrit dans le message de news:
>
> Salut Claude
>
> Je ne sais pas comment tu ouvres ton fichier Word mais si tu l'ouvres
> par OLE, il te suffit de réaliser la sélection de la totalité du
> texte avec le raccourci CTRL + A et ensuite tu fais copier.
>
> Le contenu de ton document est présent dans le presse papier et il ne
> reste plus qu'à partir de WinDev qu'à utiliser la fonction
> PressePapier().
>
> Tout ceci est réalisable avec les commandes OLE. Pour les trouver,
> créés une nouvelle macro sous Word et simule la sélection et la
> copie.
>
> Adaptes le ensuite à WinDev pour l'intégrer dans ton application. Si
> tu sais pas faire je te dirais comment.
>
> Bye
> claude tele2 wrote:
> > bonjour à tous
> > je voudrais pouvoir ouvrir un fichier word et copier son contenu dans un
> > champ d'un état
> > pour ouvrir le fichier word, pas de problème, mais après ?
> > Quelqu'un a-t-il une idée du code à utiliser
> > merci d'avance
> > claude


Avatar
claude tele2
Bonjour Alex
merci de tes explications fort détaillées
Je vais essayer tout cela et je te tiens au courant
:-))
claude



"Alex" a écrit dans le message de news:

Ben je viens d'essayer et cela fonctionne sans souci.

J'ai créé une zone de saisie avec un bouton pour sélectionner mon
doc word. le document sélectionné, je l'ouvre en OLE, je sélectionne
le contenu de ce dernier et je le copie avec le code suivant :

NomFichier = fSélecteur("c:","","Selection Fichier Word","Document
Word (*.doc)" + TAB + "*.doc","doc",fselExiste)
SI fRep(NomFichier, frFichier) <> "" ALORS
Doc>>documents>> open(NomFichier)
Doc>>Selection>>wholestory()
Doc>>Selection>>copy()
Doc>>quit()
SINON
RETOUR
FIN

NomFichier est le nom de ma zone de saisie.

Ensuite j'ai créé un état avec un libellé dans le bloc corps. Je
lance l'impression et dans le corps du bloc j'utilise :

Libelle1 = pressepapier().

Ce que je ne comprends pas c'est que si avant je fais
info(Pressepapier()) j'ai un message vide. En fait lors du premier
appel à PressePapier() cela ne semble pas bien fonctionner mais cela
fonctionne ensuite bien par la suite. va y comprendre quelque chose.

Mon etat est de type Etat avec données venant de la programmation.

En espérant t'avoir aidé.

Alex

Alex wrote:
Salut Claude

Ne serait'il pas plus simple d'ouvrir dans un premier temps la fenêtre
qui permet de réaliser la sélection du fichier dont tu souhaites
insérer le contenu du fichier dans ton état. De la sorte
l'utilisateur peut annuler l'impression dans un premier temps en
annulant la sélection du fichier.

Pour ce qui est de OLE, le mieux est d'ouvrir le fichier en arrière
plan (par défaut), de réaliser la sélection et la copie et ensuite
dans le bloc d'avant impression du corps de l'état d'utiliser la
fonction PressePapier() pour récupérer ce que tu as copié. Je n'ai
pas personnellement essayé mais je pense que cela doit fonctionner.

Je vais esayer voir ce que cela donne et je te tiens au courant.

Alex

claude tele2 wrote:
> bonsoir Alex
> merci de ton aide
> effectivement, c'est possible comme tu le dis (CTRL +A, copier) puis
> coller
> le presse papier
>
> Je t'explique mon problème: envoyer un mail avec un fichier joint (ou le
> contenu du fichier dans le texte du mail)
>
> j'ai donc conçu un état, alimenté par des requêtes, état qui constitue
> le
> corps de mon mail, que j'envoie grâce à la fonction iAperçu :
> (j'ai choisi cela parceque çà permet à l'utilisateur de contrôler ce
> qu'il
> envoie et éventuellement, de corriger, ce qui n'est pas possible quand
> on
> envoie le mail directement par du code)
> Jusque là, çà fonctionne
>
> Maintenant, je voudrais ajouter le texte d'un fichier word au mail
> (La fonction iAperçu ne me permet pas d'envoyer un fichier joint
> automatiquement)
> Tout ce que j'ai trouvé, c'est donc de copier le contenu du fichier dans
> le
> corps de mon état (dans un champ ou un état imbriqué) : c'est donc là
> que je
> voudrais coller le contenu du fichier
>
> l'idéal serait une automatisation, du genre :
> à l'initialisation de l'état,
> ouverture d'une fenêtre avec un champ arbre, pour choix du fichier,
> ouverture du fichier
> puis copier coller le contenu du fichier dans mon état,
> fermeture du fichier word
> puis iAperçu
> et çà roule
>
> merci à toi de ton avis et de tes lumières
> :-))
> claude
>
> pour la macro qui ouvre le fichier word, sélectionne le texte, et copie
> dans
> le presse-papier, pas de problème
>
>
> "Alex" a écrit dans le message de news:
>
> Salut Claude
>
> Je ne sais pas comment tu ouvres ton fichier Word mais si tu l'ouvres
> par OLE, il te suffit de réaliser la sélection de la totalité du
> texte avec le raccourci CTRL + A et ensuite tu fais copier.
>
> Le contenu de ton document est présent dans le presse papier et il ne
> reste plus qu'à partir de WinDev qu'à utiliser la fonction
> PressePapier().
>
> Tout ceci est réalisable avec les commandes OLE. Pour les trouver,
> créés une nouvelle macro sous Word et simule la sélection et la
> copie.
>
> Adaptes le ensuite à WinDev pour l'intégrer dans ton application. Si
> tu sais pas faire je te dirais comment.
>
> Bye
> claude tele2 wrote:
> > bonjour à tous
> > je voudrais pouvoir ouvrir un fichier word et copier son contenu dans
> > un
> > champ d'un état
> > pour ouvrir le fichier word, pas de problème, mais après ?
> > Quelqu'un a-t-il une idée du code à utiliser
> > merci d'avance
> > claude