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
À : [email protected]
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]