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]

Répondre à