Copier un champ texte riche en lotus script coté client lour

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Copier un champ texte riche en lotus script coté client lour

Messagepar madani » 03 Déc 2010 à 10:34

Bonjour,

J'ai cherché sur le forum mais je n'ai pas trouvé. :?

Je cherche à copier un champ texte riche dans un autre document.

J'arrive a copier tous les autres champs de type textes et autres.

Mais je n'arrive pas a copier les champs de type texte riche avec un fichier attacher.

Comment doit on procéder, en sachant que j'ai pas mal de fichier attaché sur différents textes riches.

Merci avance :)
madani
 

Messagepar StasS » 03 Déc 2010 à 10:36

Le copyitem ne fonctionne pas ?
Sinon tu détache la pj en local pour l'ajouter à la destination, puis suppression de la copie locale
Qui verra vivra !
Avatar de l’utilisateur
StasS
Administrateur
Administrateur
 
Message(s) : 115
Inscrit(e) le : 13 Août 2008 à 07:35
Localisation : Paris

Messagepar Michael DELIQUE » 03 Déc 2010 à 10:43

salut

regarde à

Set notesItem = notesItem.CopyItemToDocument( document, newName$ )

dans l'aide en ligne
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar madani » 03 Déc 2010 à 11:29

oui idée de détacher la pièce jointe je connais, mais d'un point de vue performance c'est pas le but.

Merci je vais regarder avec set notesItem notesItem.CopyItemToDocument( document, newName$ )

Merci de m'avoir répondu rapidement
madani
 

Messagepar billbock » 03 Déc 2010 à 12:26

AppendRTITEm est ce qui marche le mieux
Avatar de l’utilisateur
billbock
Modérateur
Modérateur
 
Message(s) : 310
Inscrit(e) le : 15 Fév 2007 à 13:58
Localisation : paris

Messagepar madani » 03 Déc 2010 à 15:52

Re

Voilà j'ai essayer ce bout de code , il fonctionne mais que dans mon masque sur lequel je suis.

Moi je voudrais faire un copier de certains champ du masque ouvert dans un autre masque qui s'ouvre avec des champs pré rempli.

Fonctionne sur le document ouvert

Code : Tout sélectionner
Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim docA As NotesDocument
   Dim docB As NotesDocument
   Dim rtitemA As Variant
   Dim rtitemB As Variant
   Set uidoc = ws.CurrentDocument
   Set docA = uidoc.Document
   'Call uidoc.Save
   
   
   Set rtitemB = docA.GetFirstItem( "Body" )                 'le fichier a copier
   
   Set rtitemA = docA.GetFirstItem( "attacher_Piece" ) 'l'emplacement de la copie
   
   If ( rtitemA.Type = RICHTEXT And rtitemB.Type = RICHTEXT ) Then
      Call rtitemA.AddNewLine(1) 'on ajoute une ligne
      Call rtitemA.AppendRTItem( rtitemB ) 'on copie un fichier joint
      Call docA.Save(False, True)
      Call uidoc.Close
   End If
End Sub



Mais celà ne marche pas quand j'ouvre un autre document,

Ne fonctionne pas
[objet not set]:

Code : Tout sélectionner
Dim wsA As New NotesUIWorkspace
   Dim wsB As New NotesUIWorkspace
   Dim ws As New NotesUIWorkspace
   Dim uidocB As NotesUIDocument
   Dim uidocA As NotesUIDocument
   Dim docA As NotesDocument
   Dim docB As NotesDocument
   Dim rtitemA As Variant
   Dim rtitemB As Variant
   
   '//Premier doc
   Set uidocA = ws.CurrentDocument
   Set docA = uidocA.Document
   'Call uidoc.Save
   Set rtitemA = docA.GetFirstItem( "Body" )                 'le fichier a copier
   
   '//Deuxième Doc
   Set uidocA = ws.ComposeDocument ( "", "", "Document" )
   Set docB = uidocA.Document
   
   Set rtitemB = docB.GetFirstItem( "attacher_Piece" ) 'l'emplacement de la copie
   
   'If ( rtitemA.Type = RICHTEXT And rtitemB.Type = RICHTEXT ) Then
   Call rtitemB.AddNewLine(1) 'on ajoute une ligne
   Call rtitemB.AppendRTItem( rtitemA ) 'on copie un fichier joint
   Call docA.Save(False, True)
   Call uidocA.Close
   Call docB.Save(False, True)
   Call uidocB.Close
   'End If


Merci avance
madani
 

Messagepar Michael DELIQUE » 03 Déc 2010 à 15:54

re

"objet not set" veux dire que tu as un objet non initialisé.

regarde en mode débug et insert une gestion des erreur pour avoirplus d'information sur ce qui coince => http://forum.dominoarea.org/gestion-des ... 12054.html
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar madani » 03 Déc 2010 à 16:23

Merci Michael je vais regarder
madani
 

Messagepar roubech » 04 Déc 2010 à 01:51

pour manipuler un RTitem, il faut obligatoirement travailler en backend et enregister le doc avant de l'afficher à l'écran
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille


Retour vers Développement