Bonjour à tous,

 J'ai remarqué quelque chose de bizarre lors de l'affectation du
texte d'un curseur à une chaîne puis la ré-affectation de cette chaine
au même texte.

 Considérons un document Writer avec ces deux lignes :

Texte d'exemple¶
sans saut de ligne¶

(Les pieds de mouche sont là  pour info seulement.)

 et cette macro :

REM  *****  BASIC  *****

Sub GenerationSpontaneeLF
        Dim MonDocument as Object
        Dim MonTexte as Object
        Dim CurseurVisible As Object
        Dim MonCurseur As Object
        Dim Chaine as String

        MonDocument= ThisComponent()
        CurseurVisible = MonDocument.currentcontroller.ViewCursor
        MonTexte = CurseurVisible.text
        MonCurseur = MonTexte.createTextCursorByRange(CurseurVisible)
                
        Chaine = MonCurseur.string
        print len(chaine)

        'Traitements de la chaîne
        
        MonCurseur.String = Chaine
        print len(MonCurseur.String)
        
        ' Même chose avec MonTexte.insertString( MonCurseur, chaine, True )
        
        MonDocument.CurrentController.Select(MonCurseur)
        
End Sub

 Sélectionons les deux paragraphes du document et appliquons leur la macro.
 Un saut de ligne est apparu après la marque de paragraphe.

 Je ne comprends pas du tout de quel chapeau ce saut de ligne peut sortir.
 Avez-vous une idée ?


Et cet autre comportement étrange face à une liste numérotée :

 Considérons un document Writer avec une ligne numérotée :

1.  Texte d'exemple¶

 Attention, la numérotation est bien obtenue par Format - Puces et
Numérotation... - Type de numérotation. Le pied de mouche est là  pour
info seulement.

 et cette macro :

Sub NumerotationGenante
        Dim MonDocument as Object
        Dim MonTexte as Object
        Dim CurseurVisible As Object
        Dim MonCurseur As Object
        Dim Chaine as String

        MonDocument= ThisComponent()
        CurseurVisible = MonDocument.currentcontroller.ViewCursor
        MonTexte = CurseurVisible.text
        MonCurseur = MonTexte.createTextCursorByRange(CurseurVisible)
                
        Chaine = MonCurseur.string
        print chaine
                
End Sub

 Sélectionons la ligne et appliquons lui la macro.
 La chaîne de a récupéré la numérotation !

 Je n'ai pas trouvé de posts similaires dans www.oooforum.org ni dans
le issue tracker.

Bonne journée,
Erwan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à