3 messages in org.openoffice.fr.progRe: [prog] TR: [Calc] programmation
FromSent OnAttachments
cjfjDec 16, 2005 3:05 pm 
Vincent MorlotDec 17, 2005 1:35 pm 
Bernard MarcellyDec 18, 2005 11:37 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:Re: [prog] TR: [Calc] programmationActions...
From:Vincent Morlot (vinc@free.fr)
Date:Dec 17, 2005 1:35:58 pm
List:org.openoffice.fr.prog

Le samedi 17 décembre 2005 à 00:06, cjfj écrivait:

Bonsoir Je commence dans la programmation d'OOo 2.0 et je connais rien dans son langage. J'essaie bien de faire comme indique comme dans le bouquin, mais je n'obtiens pas le résultat escompté. Mon problème est le suivant : - j'ai un classeur nommé "Planning" avec 3 feuilles nommées "Feuille 1", "Feuille 2" et "Feuille 3" - sur la feuille 1 : des données dans les cellules A1 à E18 - sur la feuille 2 : des données dans les cellules A1 à F7 - sur la feuille 3 : des données dans les cellules A1 à J12 - je voudrais, à partir d'un bouton macro sur la feuille 1, imprimer toutes les feuilles en une seule fois et en faisant 2 exemplaires de la feuille 2 Une âme charitable pourrait-elle me faire une petite macro pour que j'essaie de comprendre. J'y arrivais sans problème sous Excel, mais là, j'avoue que je suis largué.

Merci pour votre aide. Michel

J'ai fait ceic dans une macro, partant du principe que l'on ne peut modifier les
paramètres que pour la feuille visible. je cache l'ensemble des feuilles puis je
réaffiche une feuille je l'imprime, je la recache et je passe à la suivante.

Dim aPrintOpts(1) As New com.sun.star.beans.PropertyValue

Sub ImprimeTableaux() Dim oSheet As Object Dim oSheetPrev As Object Rem Worksheets(MaFeuil).Activate cpt = 0

MonNbreDeFenetre = xDoc.Sheets.Count()

Do While cpt < MonNbreDeFenetre Set oSheet = xDoc.Sheets(cpt) oSheet.IsVisible = False cpt = cpt + 1 Loop

cpt = MonNbreDeFenetre-1 Do While cpt > 0 Set oSheet = xDoc.Sheets(cpt) Set oSheetPrev = xDoc.Sheets(cpt-1) oSheet.IsVisible = True aPrintOpts(0).Name = "Pages" '"CopyCount aPrintOpts(0).Value = 1

aPrintOpts(1).Name = "Collate" aPrintOpts(1).Value = True xDoc.print(aPrintOpts(0)) wait(10) oSheetPrev.IsVisible = True oSheet.IsVisible = False cpt = cpt - 1 Loop Do While cpt < MonNbreDeFenetre Set oSheet = xDoc.Sheets(cpt) oSheet.IsVisible = True cpt = cpt + 1 Loop End Sub