Bonjour, Je cherche toujours la solution concernant mes pb de curseurs. J'ai constaté que j'arrivai à créé un bookmark mais à l'endroit où se trouvait le curseur visible. Donc je travail à partir du curseur visible, mais ça ne fonctionne toujours pas : j'arrive à créer le bookmark mais il est toujours positionné sur la première ligne du texte et pas à l'endroit où j'ai placé le curseur visible ???
Sub Sub_Creer_Signet_Texte(strNomSignet As String, intNBCaract As integer) Dim Bookmark As Object Dim Cursor As Object Dim TOTO as String Dim Doc as object Dim unSignet as object Dim MonTexte Dim curseurVisible As Object Dim laCible As Object On Error GoTo Erreurs Doc = ThisComponent unSignet = Doc.Bookmarks.getByName(strNomSignet) laCible = unSignet.Anchor curseurVisible = Doc.CurrentController.ViewCursor curseurVisible.gotoRange(laCible,false) curseurVisible.goRight(intNBCaract, true) 'le curseur se créé à l'emplacement du curseur visible??? Cursor=Doc.Text.createTextCursor(curseurVisible) 'si je mets la suite en commentaire mon curseur est positionne où je le souhaite Bookmark = Doc.createInstance("com.sun.star.text.Bookmark") TOTO = PREFIXE_SIGNETS_TEXTE TOTO = TOTO & "10_" TOTO = TOTO & strNomSignet Bookmark.Name = TOTO Doc.text.insertTextContent(Cursor, Bookmark, False) 'le signet est créé sur la première ligne et le curseur est positionné au même endroit Exit Sub Erreurs: erreur_num=err() erreur_txt=error(erreur_num) erreur_ligne = Erl() MsgBox("erreur n° " + erreur_num + " à la ligne " + erreur_ligne + chr(13) + erreur_txt, 1 + 16, "Sub_Creer_Signet_Texte") End Sub Merci pour votre aide -----Message d'origine----- De : Francois Gatto [mailto:[EMAIL PROTECTED] Envoyé : vendredi 9 juin 2006 19:36 À : prog@fr.openoffice.org Objet : Re: [prog] Curseur et création de repère de texte Bonjour, BOTTIN Laurence - DGMT/SG/AG2 a écrit : > Bonjour, > J'ai effectivement acheté il y a quelques mois votre bible qui est très > utile pour démarrer > Je la consulte régulièrement ainsi que le developper's guide, le pytoniak > sous toutes ses formes ainsi que le Marcelly. > Lorsque mon appli sera terminé j'indiquerai toutes les références qui vont > bien. > > Mais malheureusement le curseur et le repère de texte restent obscurs : > il est possible de créer un repère de texte là où se trouve le curseur de > texte en utilisant la commande createTextCursor > et en utilisant insertTextContent comme indiqué en p308 de ed2 > il est possible de se positionner sur un repère de texte existant en > utilisant createTextCursorByRange comme dans un des exmples du livre. > > Mais lorsque je veux associer les deux comme dans mon exemple la commande > insertTextContent renvoit une erreur 1 que je mette False ou true. > Doc.text.createTextCursorByRange(unSignet.Anchor.Start) provoque egalement > une erreur 1 sur insertTextContent > > Merci d'avance de m'aider à résoudre ce casse-tête ooonois > > Laurence > Voici un moyen de placer un bookmark, avec un texto, à l'endroit du curseur. Sub InsertBookmarkToViewCursor Dim oDoc As Object Dim oBookmark As Object, oBookmarks As Object Dim oCursor As Object Dim oViewCursor As Object oDoc = ThisComponent 'récupération du curseur visible oViewCursor = oDoc.getCurrentController().getViewCursor() oBookmark = oDoc.createInstance( "com.sun.star.text.Bookmark" ) oBookmark.Name = "MyBookmark" 'test si le bookmark a placer existe deja oBookmarks = oDoc.getBookmarks() If Not oBookmarks.hasByName( oBookmark.Name ) Then 'le bookmark n'existe pas ... on le cree oCursor = oDoc.Text.createTextCursorByRange(oViewCursor) oCursor.String = "Mon repère à moi " 'je place un espace en fin de chaine oDoc.Text.insertTextContent( oCursor, oBookmark, True ) Else MsgBox( "Le bookmark " & oBookmark.Name & " existe déjà", 32, "Repère de texte" ) End If End Sub J'espère avoir bien compris ta demande. -- Francois Gatto --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]