transmettre valeur à un champ texte riche par boite de dialo

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

transmettre valeur à un champ texte riche par boite de dialo

Messagepar clémentine » 25 Juil 2003 à 14:04

Rebonjour, Je souhaiterais, en LotusScript(ou en formule si vous savez faire), ajouter le contenu, saisi dans une boite de dialogue par un utilisateur, dans un champ calculé de type text riche.J'ai une action "ajouter ligne" avec le code suivante(je débute en LotusScript) :Sub Click(Source As Button) Dim doccb As NotesDocument Dim ws As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim chtext As Variant Dim ajout As Variant 'on commence par se placer sur le document courant en back end Set uidoc = ws.CurrentDocument Set doccb = uidoc.Document 'ensuite on se place dans le champ de texte riche Set chtext = doccb.GetFirstItem("tr") Set chtext = New NotesRichTextItem ( doccb, "tr" ) 'on demande ce qu on veut mettre comme valeur ajout = Inputbox ("quelle valeur voulez-vous ajouter?", "titre", "entree par défaut") Call chtext.AddNewLine( 2 ) Call chtext.AppendText( "ajout" ) '--> ajoute à chtext le texte contenu dans ajout Call doccb.Save( False, True ) '--> on enregistre 'on recharge le doc courant Call uidoc.reload End SubJe n'ai pas d'erreur à l'éxécution, la boite de dialogue apparaît bien mais le champ text riche ne se remplit pas.Qu'est ce qui ne fonctionne pas dans le code?Merci.
clémentine
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar phi » 25 Juil 2003 à 14:27

Salut,Il y a qques trucs qui me paraissent bizarre, je ne sais pas si c'est la cause du problème...> Set chtext = doccb.GetFirstItem("tr")> > Set chtext = New NotesRichTextItem ( doccb, "tr" ) là, tu fais deux fois l'initialisation de chtext c'est inutile (sans conséquence)> Call chtext.AppendText( "ajout" )pour ajouter le contenu de la variable ajout, enlève les guillemets sinon ça ajoute "ajout"> Call uidoc.reloadmieux vaut faire un uidoc.save avant le reloaddésolé, je n'ai pas d'autres idées, si après ça marche c'est un miracle ;)Phi.
phi
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar clémentine » 25 Juil 2003 à 14:32

pas de miracle en vue....merci quand même de ton aide.
clémentine
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar Rigol'man » 25 Juil 2003 à 14:32

essaie avec ca :Sub Click(Source As Button) Dim doccb As NotesDocument Dim ws As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim chtext As Variant Dim ajout As Variant 'on commence par se placer sur le document courant en back end Set uidoc = ws.CurrentDocument Set doccb = uidoc.Document ajout = Inputbox ("quelle valeur voulez-vous ajouter?", "titre", "entree par défaut") Dim tmp As Variant tmp = uidoc.FieldGetText("tr") Call uidoc.FieldSetText( "tr", tmp + Chr(10) + Chr(10) + ajout) Call doccb.Save( False, True ) '--> on enregistre 'on recharge le doc courant Call uidoc.reload End Sub[%sig%]
Rigol'man
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar Rigol'man » 25 Juil 2003 à 14:38

oublie ce que g mis ca ne garde que le texte !! :o(g honte , vivement le week end !!!!![%sig%]
Rigol'man
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar Rigol'man » 25 Juil 2003 à 14:39

essaie plutot ca :Sub Click(Source As Button) Dim doccb As NotesDocument Dim ws As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim chtext As Variant Dim ajout As Variant 'on commence par se placer sur le document courant en back end Set uidoc = ws.CurrentDocument Set doccb = uidoc.Document ajout = Inputbox ("quelle valeur voulez-vous ajouter?", "titre", "entree par défaut") Call uidoc.FieldAppendText( "tr", Chr(10) + Chr(10) + ajout) Call doccb.Save( False, True ) '--> on enregistre 'on recharge le doc courant Call uidoc.reload End Sub[%sig%]
Rigol'man
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar clémentine » 25 Juil 2003 à 14:55

" l'instruction a "0x000 ..." emploie l'adresse mémoire "0x0....". La mémoire ne peut être "read". Cliquez sur ok pour terminer le programe sur annuler pour déboguer"......ouaip....après quelques redémarrages de notes et quelques modifs, je n'ai toujours pas réussi à faire marcher ce code.
clémentine
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar Droad » 25 Juil 2003 à 14:56

ya surement du réglage, mais voila (attention à bien modifier la ligne ATTENTION avec le nom de ton masque):Sub Click(Source As Button) Dim ws As New NotesUIWorkspace, session As New NotesSession Dim uidoc As NotesUIDocument, doccb As NotesDocument Dim chtext As Variant Dim ajout As Variant 'on commence par se placer sur le document courant en back end Set uidoc = ws.CurrentDocument Set doccb = uidoc.Document 'ensuite on se place dans le champ de texte riche If doccb.HasItem("RichText") Then Set chtext = doccb.GetFirstItem("RichText") Else Set chtext = New NotesRichTextItem(doccb, "RichText") End If 'ATTENTION: If Not doccb.HasItem("Form") Then doccb.Form = "document" 'on demande ce qu on veut mettre comme valeur ajout = Inputbox ("quelle valeur voulez-vous ajouter?", "titre", "entree par défaut") Call chtext.AddNewLine(2) Call chtext.AppendText("ajout") '--> ajoute à chtext le texte contenu dans ajout Call doccb.Save(True,False) '--> on enregistre doccb.SaveOptions = "0" 'on recharge le doc courant Dim unid As String unid = doccb.UniversalId Call uidoc.close() Set doccb = session.CurrentDatabase.GetDocumentByUnid(unid) Call ws.EditDocument(True,doccb)End Sub[%sig%]
Droad
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar clémentine » 25 Juil 2003 à 15:12

ooooh Droad, je te baisse les pieds.MERCI!(tu l'as trouvé où ta photo?)
clémentine
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar Droad » 25 Juil 2003 à 15:17

Pourquoi, j'ai les pieds trop hauts ? (attention, je vais faire un soundley: hi hi hi)[%sig%]
Droad
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar Droad » 25 Juil 2003 à 15:18

je comprend plus rien: ça marche ou pas ?[%sig%]
Droad
 

Re: transmettre valeur à un champ texte riche par boite de d

Messagepar clémentine » 25 Juil 2003 à 15:20

ben oui ça marche!thanks a lot :).
clémentine
 


Retour vers Développement