Je dois être bête mais je narrive pas a sélectionner un texte que je viens de créer dans un entête sous oOWriter
En fait je souhaiterai écraser lentête a chaque fois que jappelle ma fonction entête et pouvoir réaliser un cadrage (centre en particulier) Ci-dessous mon code sous VB .NET Sub Entete(ByVal sTexteCentre As String, Optional ByVal sEcraser As Boolean = True, Optional ByVal sCadrage As String = "Centre") Dim monTexte As Object, monCurseur As Object Dim TexteCentre As Object, CurseurCentre As Object Dim nomStyleMaPage As String, StyleMaPage As Object Dim lesStylesPage As Object Dim Arguments(0) As Object monTexte = oDocument.Text monCurseur = monTexte.createTextCursor ' récupérer le nom du style de page en cours nomStyleMaPage = monCurseur.PageStyleName ' print "Cette page est du style : " & nomStyleMaPage ' récupérer la collection de styles de pages lesStylesPage = oDocument.StyleFamilies.getByName("PageStyles") ' récupérer le style de la page en cours StyleMaPage = lesStylesPage.getByName(nomStyleMaPage) With StyleMaPage .HeaderIsOn = True ' insérer un entête .HeaderBodyDistance = 1000 ' 10 mm .HeaderHeight = 2500 ' 25mm TexteCentre = .HeaderText ' zone de texte centre de l'entête End With CurseurCentre = TexteCentre.createTextCursor ' curseur centre dans l'entête If sEcraser = True Then CurseurCentre.gotoStart(False) CurseurCentre.gotoEnd(True) 'Récupérer le texte sélectionné par le curseur 'monTexte = oDocument.Text.createTextCursorByRange(CurseurCentre) End If ' écrire un texte dans l'entête TexteCentre.insertString(CurseurCentre, sTexteCentre, False) ' Gestion du cadrage Select Case sCadrage Case "Centre" oSel = oDocument.CurrentController.Frame Arguments(0) = MakePropertyValue("CenterPara", True) oDispatcher.executeDispatch(oSel, ".uno:CenterPara", "", 0, Arguments) Case "Droite" oSel = oDocument.CurrentController.Frame Arguments(0) = MakePropertyValue("RightPara", True) oDispatcher.executeDispatch(oSel, ".uno:RightPara", "", 0, Arguments) Case "Gauche" oSel = oDocument.CurrentController.Frame Arguments(0) = MakePropertyValue("LeftPara", True) oDispatcher.executeDispatch(oSel, ".uno:LeftPara", "", 0, Arguments) Case "Justifié" oSel = oDocument.CurrentController.Frame Arguments(0) = MakePropertyValue("JustifyPara", True) oDispatcher.executeDispatch(oSel, ".uno:JustifyPara", "", 0, Arguments) End Select End Sub Je pense que mon problème est lié au curseur .. comment sélectionner le texte avant d'acrire pour pouvoir écraser le texte existant ? ________________________________________ De : Cezame Concept [mailto:[EMAIL PROTECTED] Envoyé : mardi 11 avril 2006 11:37 À : prog@fr.openoffice.org Objet : [prog] Entete et pieds de page Je précise ma demande En fait je souhaiterais par programmation avec VB Express 2005 pourvoir modifier les entêtes et pieds de pages de documents oOClac et oOWriter Pour activer les entêtes et pieds jutilise la commande suivante Public Function ChargerService() As Boolean 'On Error GoTo sortie oServiceManager = CreateObject("com.sun.star.ServiceManager") oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop") oDispatcher = oServiceManager.createInstance("com.sun.star.frame.DispatchHelper") ChargerService = True 'Sortie: 'LoadService = False End Function Sub EntêtePiedDePage() Dim Arguments(0) As Object oSel = oDocument.CurrentController.Frame oDispatcher.executeDispatch(oSel, ".uno:EditHeaderAndFooter", "", 0, Arguments) End Sub Comment ensuite sélectionner les éléments a modifier ? Gauche droite centre pour les entetes et pieds Comment insérer les champs prédéfinis (date N° page ) Merci pour votre aide ---------------------------------------------------------------------------- ----------- Wanadoo vous informe que cet e-mail a ete controle par l'anti-virus mail. Aucun virus connu a ce jour par nos services n'a ete detecte. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]