[writer] Macro : comment positionner le point d'insertion dans un cadre texte ?

Bonsoir,

soit un document writer qui comporte du texte et des cadres. Je
voudrais, par macro pour simplifier la tâche, positionner le curseur
visible (le point d'insertion) dans le premier cadre, quel que soit
l'emplacement courant du point d'insertion.

Je peux obtenir le premier cadre par
ThisComponent.TextFrames.getByIndex(0)

Je sais où est le point d'insertion par
l_PtInsert = ThisComponent.CurrentController.ViewCursor

Mais je ne sais pas quelle propriété affecter à CurrentController (ou à
ViewCursor) pour passer au premier cadre. La propriété Text de
ViewCursor est en lecture seule, si bien que je ne peux lui affecter
CurrentController.Text :frowning:

Une piste, quelqu'un ?

Merci d'avance,

Bonsoir,

soit un document writer qui comporte du texte et des cadres. Je
voudrais, par macro pour simplifier la tâche, positionner le curseur
visible (le point d'insertion) dans le premier cadre, quel que soit
l'emplacement courant du point d'insertion.

Je peux obtenir le premier cadre par
ThisComponent.TextFrames.getByIndex(0)

Je sais où est le point d'insertion par
l_PtInsert = ThisComponent.CurrentController.ViewCursor

Mais je ne sais pas quelle propriété affecter à CurrentController (ou à
ViewCursor) pour passer au premier cadre. La propriété Text de
ViewCursor est en lecture seule, si bien que je ne peux lui affecter
CurrentController.Text :frowning:

Une piste, quelqu'un ?

Merci d'avance,

Bonsoir,

j'ai trouvé ceci sur un forum

Sub AtteindreCadreSpecifique
  Dim oFrame As Object

  'Spécifie le 1er cadre dans le document
  oFrame = ThisComponent.TextFrames.getByIndex(0)
  'Positionne le curseur dans le cadre
  ThisComponent.CurrentController.Select( oFrame.Text.Start )

End Sub

j'ai testé rapidement, ça entre bien dans le cadre.

C_Lucien

Bonjour Lucien,

j'ai trouvé ceci sur un forum

Sub AtteindreCadreSpecifique
  Dim oFrame As Object

  'Spécifie le 1er cadre dans le document
  oFrame = ThisComponent.TextFrames.getByIndex(0)
  'Positionne le curseur dans le cadre
  ThisComponent.CurrentController.Select( oFrame.Text.Start )

End Sub

j'ai testé rapidement, ça entre bien dans le cadre.

effectivement, ça :slight_smile:

et j'ai ajouté ceci
Dim oInsPt As Object

[ton code]
'Positionne le curseur à la fin du texte saisi dans le cadre
oInsPt = ThisComponent.CurrentController.ViewCursor
oInsPt.gotoEnd(False)

Merci !