Export des textes calculés dans un richText vers word

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

Export des textes calculés dans un richText vers word

Messagepar cyril.laine » 16 Oct 2009 à 12:34

Bonjour

Dans le body de mon document j'ai des textes calculés (ex : @now , @username, subject ...)

Quand j'exporte ce body vers un word, je recupère bien le contenu du champ mais mes textes calculés sont vides

quelqu'un a t'il une petire idée pour contourner ce problème ?

Merci
cyril.laine
Premier posts
Premier posts
 
Message(s) : 17
Inscrit(e) le : 31 Jan 2007 à 22:34

Messagepar roubech » 16 Oct 2009 à 21:50

bonjour

body, c'est le nom d'un champ richtext ?

ou u veux dire que dans ton masque, tu as des textes calculés au milieu de textes statiques. Et quand tu affiches un doc avec ce masque pour faire un copier coller tu texte généré, il te manque des éléments quand tu colles dans word
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar cyril.laine » 17 Oct 2009 à 07:25

Oui le champ body est un richtext qui contient du texte statique et du texte calculé mélangé.
je ne veux pas coller le contenu du body dans word mais je veux l'exporter en back.
cyril.laine
Premier posts
Premier posts
 
Message(s) : 17
Inscrit(e) le : 31 Jan 2007 à 22:34

Messagepar roubech » 17 Oct 2009 à 09:25

comment ton champ body est-il alimenté ?
quand tu regardes les propriétés du doc, tu vois bien le contenu ?
comment tu fais ton export ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Jérome Deniau » 18 Oct 2009 à 02:05

SI tu exportes avec une classe back-end (dorsal) c'est normal, les textes calculés ne le sont qu'à l'affichage, donc si l'utilisateur le faite manuellement normalement cela est correct.

On se servait de ça pour les farces du premier avril, un document pouvait afficher les infos de la personne connectée, et permettait de lui faire croire pleins de choses. maintenant pour un export, je pense que cela va être touchy.
Jérome Deniau
 

Messagepar Jérome Deniau » 18 Oct 2009 à 02:08

Voir le commentaire de Pierre Frappé:

http://my.advisor.com/doc/07998
Jérome Deniau
 

Messagepar cyril.laine » 18 Oct 2009 à 10:51

J'arrive a faire ce que je veux en front

Ouverture du doc notes en modif
Copier le contenu du richText
Ouverture d'un doc word
Coller dans word

pour les fonctions SW_ => http://www.swingsoftware.com/integrator/overview/

Code : Tout sélectionner
Set view = db.GetView( "Migration" )   
   fichierVide="c:\vide.doc"   
   Set doc = view.GetFirstDocument
   While Not(doc Is Nothing)      
      NewFilePath = "c:\export\" + doc.UniversalID + ".doc"
      If Dir$(NewFilePath, 0) = "" Then 'tester l'existence du fichier
            Set fieldvalue = doc.GetFirstItem( "Body" )
            If fieldvalue.GetFormattedText(True, 0) <> "" Then               
               AppName = SW_OpenDocument ( fichierVide )
               Set uidoc = workspace.EditDocument(True, doc)         
               Call uidoc.GoToField( "Body" )
               Call uidoc.SelectAll
               Call uidoc.Copy
               Call uidoc.DeselectAll
               Call uidoc.Close
               Call SW_SetWordFieldCb ( fichierVide, "WordBody","") 'WordBody = Name of a Word field in which to pass value from Notes 'form                  
               Flag = SW_CloseDocument ( fichierVide, "1")
               NewFilePath = "c:\export\" + doc.UniversalID + ".doc"
               Filecopy fichierVide, NewFilePath            
            End If
      End If            
      Set doc = view.GetNextDocument(doc)
   Wend


Ca fonctionne très bien avec une dizaine de docs, mais il faut que j'en traite 30000 et la ca coince
J'ai l'impression que mon client finit par mélanger les ouvertures / fermetures de doc notes
cyril.laine
Premier posts
Premier posts
 
Message(s) : 17
Inscrit(e) le : 31 Jan 2007 à 22:34

Messagepar Jérome Deniau » 18 Oct 2009 à 13:12

Et oui, le uiworkspace est limité, tente un yield après ton uidoc.close pour rendre la main au système, mais dans une boucle cela va alourdir, à moins de le faire tous les x documents ouverts.
Jérome Deniau
 

Messagepar Jérome Deniau » 18 Oct 2009 à 13:14

Essaie uidoc.close(1) ou uidoc.close(true) depuis la v6.
Jérome Deniau
 

Messagepar cyril.laine » 20 Oct 2009 à 09:25

ca fonctionne très bien avec uidoc.close(true)
Merci Jérôme !!!
cyril.laine
Premier posts
Premier posts
 
Message(s) : 17
Inscrit(e) le : 31 Jan 2007 à 22:34


Retour vers Développement

cron