1 message in org.openoffice.fr.prog[prog] Suppression d'une section avec...
FromSent OnAttachments
Joël VimenetOct 28, 2008 9:27 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[prog] Suppression d'une section avec sa pageActions...
From:Joël Vimenet (joel@anyware-tech.com)
Date:Oct 28, 2008 9:27:11 am
List:org.openoffice.fr.prog

Bonjour, j'ai une macro qui doit supprimer ou ajouter une section à mon document texte. Si elle est présente on la supprime, si elle est absente on l'ajoute. Ma section se trouve sur 2 page. Elle est ajoutée à partir d'un autotexte. Mon problème est que quand je supprime ma section, il reste une page vide, puis quand j'ajoute à nouveau la section, elle vient s'ajouter après cette page vide. Je me retrouve donc assez rapidement avec plusieurs pages vides. Je souhaiterais donc supprimer ces pages en même temps que je supprime la section. J'ai essayé beaucoup de méthodes mais il reste toujours un page supplémentaire. Je joins à ce message la procédure utilisée pour ajouter/supprimer la section. Merci d'avance pour vos conseils

-- Joël

sub AjouteAutotexteFelin() nomSection = "region_id_felin" dim dispatcher as object dim document as object leDoc = thisComponent viewCursor = ThisComponent.CurrentController.viewCursor dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") document = ThisComponent.CurrentController.Frame

if (leDoc.TextSections.hasByName(nomSection)) then dim laSection, monCurseur laSection=leDoc.TextSections.getByName(nomSection) viewCursor.gotoRange(laSection.anchor.end, false) laSection.anchor.string="" leDoc.Text.removeTextContent(laSection) SectionPrec = leDoc.textSections.getByName("bordereau") viewCursor.gotoRange(SectionPrec.anchor.end, false) else SectionPrec = leDoc.textSections.getByName("bordereau")

viewCursor.gotoRange(SectionPrec.anchor.end, false)

dim args2(2) as new com.sun.star.beans.PropertyValue args2(0).Name = "Kind" args2(0).Value = 3 args2(1).Name = "TemplateName" args2(1).Value = "Standard" args2(2).Name = "PageNumber" args2(2).Value = 0

' dispatcher.executeDispatch(document, ".uno:InsertBreak", "", 0, args2())

dim newSection newSection = leDoc.createInstance("com.sun.star.text.TextSection") with newSection .Name = nomSection end with

leDoc.text.insertTextContent(viewCursor,newSection,true)

rem ----------------------------------------------------------------------- rem INSERTION DE L'AUTOTEXTE DANS LA SECTION

SectionPrec = leDoc.textSections.getByName(nomSection) Curseur = leDoc.text.createTextCursorByRange(SectionPrec.anchor.start) Curseur.gotoRange(SectionPrec.anchor.end, false)

dim AutoTextContainer, Group, Entry AutoTextContainer = CreateUnoService("com.sun.star.text.AutoTextContainer") Group = AutoTextContainer.getByName("ETBS") Entry = Group.getByName("IF") Entry.applyTo(Curseur) endif end sub