Page 1 sur 2

Joindre un fichier TXT dans un champ

MessagePublié: 05 Oct 2010 à 11:01
par Dammy
Bonjour,

J'ai pas mal cherché sur le forum mais je ne trouve pas la solution pour joindre un fichier txt dans un champs.

J'ai donc un base lotus qui me génère des message de rappel pour effectuer des opérations spécifique tout les jours.

J'ai besoin dans l'une d'elle de récupérer tout les log contenu dans d'autre message, pas de souci jusque la. La ou j'ai un problème c'est que pour un message j'ai une pièce jointe.
N'arrivant pas a tout copier, je récupère donc le texte et vois la pièce jointe après par ce code

Code : Tout sélectionner
Message:
    Gosub sautligne
    Call uidoc.FieldAppendText("PreuvesTacite","Envoyé par : " + doc.getItemValue("From")(0))
    Call uidoc.FieldAppendText("PreuvesTacite",", Le " + doc.getItemValue("PostedDate")(0))   
    Gosub sautligne
    Gosub sautligne
    Call uidoc.FieldAppendText("PreuvesTacite","Sujet : ")
    Call uidoc.FieldAppendText("PreuvesTacite",doc.getItemValue("Subject")(0))
    Gosub sautligne
    Gosub sautligne
    Call uidoc.FieldAppendText("PreuvesTacite","Corps : ")   
    Call uidoc.FieldAppendText("PreuvesTacite",doc.getItemValue("Body")(0))
    Gosub sautligne
    Gosub separation   
    Return   


Ensuite vu que je n'arrive pas a copier la pièce jointe, je l'extrait de message d'origine par ce code :

Code : Tout sélectionner
AjoutOAE:   
    Set rtitem = doc.GetFirstItem("Body")
    Set objet = doc.GetAttachment("srvga391-RapOae.txt")
    Call objet.ExtractFile( "c:\temp\" & Objet.source )


Et la je coince pour maintenant l'injecter dans mon champs "PreuvesTacite" du document uidoc


Avez une idée à m'apporter ?

Merci

MessagePublié: 05 Oct 2010 à 11:19
par Michael DELIQUE
salut et welcome

tu veux insérer le contenue de ton fichier texte dans le corps du mail ?

MessagePublié: 05 Oct 2010 à 12:57
par Dammy
Alors j'arrive a insérer le contenu de mon fichier mais vu que les champs sont limiter à 64k, je dépasse la limite.

Moi j'aimerai inséré le fichier en pièce jointe mais vu que c'est pas un mail, j'ai l'impression qu'il n'ai pas possible de si prendre de la même façon.

code qui marche mais je sature le champs
Code : Tout sélectionner
nbfileNum = Freefile()
Open "c:\temp\srvga391-RapOae.txt" For Input Access Read As nbfilenum
i=0
FileData = ""
While Not Eof(nbfileNum)
 i=i+1
 Line Input #nbfileNum, FileData
 Call uidoc.FieldAppendText("PreuvesTacite",FileData)   
Wend
Close nbfileNum


Code qui marche pas
Code : Tout sélectionner
Set rtBody = doc2.GetFirstItem("PreuvesTacite")
If rtBody Is Nothing Then
 Set rtBody = doc2.CreateRichTextItem("PreuvesTacite")
End If
Call  rtbody.EmbedObject ( EMBED_ATTACHMENT, "", "c:\temp\srvga391-RapOae.txt")



C'est chelou car un simple copier coller marche sans problème.
j'ouvre mon mail avec la piece jointe qui m'intéresse, je me met en modification, je copie ma piece jointe, je retourne dans mon message avec mon champs et je fait un coller.

C'est ca que j'aimerai faire ou alors passé par l'étape j'extrais ma pièce jointe comme j'ai pu mettre le code juste au dessus puis le joindre dans mon champs.


MAJ :
Je viens de voir que depuis les menu, j'aimerai faire, création -> objet...
puis a partir du fichier et sélectionner mon fichier exporter.

Vous savez comment on peut l'écrire ca ?

MessagePublié: 05 Oct 2010 à 14:06
par Michael DELIQUE
re,

il faut que ton champ soit de type richtext pour insérer les pieces jointe et pouvoir dépasser la limite des 64 k

un tips qui te montre comment attacher un fichier en Ls => http://forum.dominoarea.org/attacher-un ... 16107.html

par contre il ya une limitation avec ce genre de traitement sur les richtexte, il faut enregister/fermer puis réouvrir le document pour que la piece jointe fonctionne sauf si tu passe par un NotesUIdocument.import

MessagePublié: 05 Oct 2010 à 15:14
par Dammy
Ok par contre pour passer mon champs en richtext, je fait comment ?
il faut passer par designer ou je peux le faire en code ?

MessagePublié: 05 Oct 2010 à 15:16
par Michael DELIQUE
non via le designer

MessagePublié: 05 Oct 2010 à 15:17
par nemrod93
Bonjour,

tu le déclares dans le masque au niveau des propriétés du champ, premier onglet.

MessagePublié: 05 Oct 2010 à 15:27
par Dammy
ok je vais voir ca, merci

La j'attends car j'ai eu la bonne idée de faire un enregistrement a chaque ligne inséré dans mon champ depuis mon fichier donc c'est un peu long, voir très long lol

Mais a a l'air d'avoir supprimer la limite de 64ko

MessagePublié: 05 Oct 2010 à 15:59
par Dammy
bon ben c'est dommage car je suis bien en "Texte riche" sur mon champs.

Par contre il y a "Texte riche amélioré", ca peut changer quelque chose ?

(Désolé mais je début en LS, sans aucune formation lol
)

MessagePublié: 05 Oct 2010 à 16:03
par Michael DELIQUE
non le textrich amélioré ne changera rien

tu as lu ça => http://forum.dominoarea.org/initiation- ... 12997.html

MessagePublié: 05 Oct 2010 à 16:07
par Michael DELIQUE
ton fichier text est lourd ?

MessagePublié: 05 Oct 2010 à 16:12
par Dammy
Le 1er ca allait mais le second il fait 2 078Ko

EDIT : Merci pour le PDF ;)

MessagePublié: 05 Oct 2010 à 16:13
par Michael DELIQUE
2 mo ? ç'est pas énorme

MessagePublié: 05 Oct 2010 à 16:17
par nemrod93
Re,
tu n'attaches qu'un fichier ou bien plusieurs?

MessagePublié: 05 Oct 2010 à 16:19
par Dammy
Oui oui c'est bien ca 2 MO.

Par contre je viens de penser que je peux enregistrer mon fichier sur le réseau et ensuite mettre tout simplement un lien dessus donc mon message, je vois ca et je vous redit


Alors je voulais rattacher 2 fichiers mais vu que ca marchait pas pour un comme pour 2, j'ai essai de tout copier le contenu de mes fichiers dans mon champs. Et c'est la que j'ai les erreurs de dépassement des 64Ko.

Et j'arrive a les éviter au début en fessant des save de temps en temps mais pour le fichiers de 2Mo ca coute pendant son importation