Bonjour ... Je viens de recevoir la doc en début d'après midi ... Je ne la maitrise donc pas ! Mais il a fallu négocier avec mon boss pour l'avoir !!! Je pense que je vais profiter de ce long week-end pour m'y plonger dedans ... En fait j'ai besoin de réaliser un interfaçage entre des applis existante chez nous et oOWriter et oOCalc J'ai donc commencé à réaliser un assemblage .NET réutilisable dans toutes les applications... en me débrouillant sans doc, j'ai réussi a faire pas mal de choses, mais maintenant il me reste les choses plus pointues.
Je vais exploiter -tes pistes et je pense que je devrais m'en sortir Merci pour ton aide même si j'ai bien peur de devoir à nouveau vous solliciter plus tard ... Je vous tiendrais au courant de mes avancées J'essaierai de mettre a la disposition de la communauté mes travaux par la suite -----Message d'origine----- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Envoyé : vendredi 14 avril 2006 15:57 À : prog@fr.openoffice.org Objet : [Norton AntiSpam] RE: [prog] Entete et pieds de page Plusieurs pistes : - pour ton exemple, tu utilises insertString au lieu de setString, ce qui a pour effet de ne pas écraser l'ancien texte (une recherche dans la doc du SDK t'aurais permi de trouver cette fonction) - pour gérer des VRAIES sélections, il faut utiliser le controlleur et les fonctions spéciales associées, mais je ne crois pas que ce soit ce dont tu as besoin Tu mélanges d'ailleurs cette notion avec celle des curseurs (qui disposent intrinséquement de leur propre "sélection")! - pour le centrage, il faut simplement appliquer les propriétés sur ton objet CurseurCentre (et non sur ton objet sélection "oSel", qui ne sert à rien pour ce que tu veux faire) La "sélection" de ton texte est déjà faite avec ce bout de code : > CurseurCentre.gotoStart(False) > CurseurCentre.gotoEnd(True) AMHA, tu n'as pas passé assez de temps à étudier la doc du SDK (ou tu ne maîtrises peut-être pas l'anglais). Du coup, tu n'as pas compris les principes fondamentaux du SDK. D'où perte de temps pour toi à faire des mails sur cette liste pour le moindre petit problème et perte de temps pour les autres qui te répondent (et qui ne vont plus te répondre si tu continues à poser de telles questions...). Je le redis : une (auto-)formation ou la lecture de documents/livres sur le SDK t'aiderait beaucoup. De même, la lecture d'exemples de code sur le oooforum peut t'être très utile. Cdlt, Emmanuel > -----Message d'origine----- > De : Cezame Concept [mailto:[EMAIL PROTECTED] > Envoyé : jeudi 13 avril 2006 14:27 > À : prog@fr.openoffice.org > Objet : RE: [prog] Entete et pieds de page > > > Je dois être bête mais je n'arrive pas a sélectionner un > texte que je viens > de créer dans un entête sous oOWriter > > En fait je souhaiterai écraser l'entête a chaque fois que j'appelle 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 j'utilise 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] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ---------------------------------------------------------------------------- ----------- 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]