[Résolu][Basic] Imposer une impression en recto uniquement
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
natorp
- Membre hOOnoraire

- Messages : 106
- Inscription : 24 nov. 2009 18:31
[Résolu][Basic] Imposer une impression en recto uniquement
Bonjour à toutes et tous
Je suis au boulot avec une imprimante en réseau qui est paramétrée en Recto/Verso
peut-on, par l'intermédiaire d'une macro, forcer l'impression (calc ou writer) en Recto ?
Merci pour votre aide, cordialement, Gérard
Je suis au boulot avec une imprimante en réseau qui est paramétrée en Recto/Verso
peut-on, par l'intermédiaire d'une macro, forcer l'impression (calc ou writer) en Recto ?
Merci pour votre aide, cordialement, Gérard
Dernière modification par natorp le 14 mars 2018 09:23, modifié 4 fois.
OOo 4.1.0 sous Win XP (imposé par notre administration)
-
luky-luke
- InconditiOOnnel

- Messages : 957
- Inscription : 27 nov. 2010 00:17
- Localisation : gâtine deux-sèvrienne
Re: [Calc ou Writer] Imprimer en recto
Bonjour
Une recherche avec le mot impression et...
Imprimer toutes les feuilles
donne le lien vers le site anglophone
Advanced printing macro's
Et un bout de code trouvé dans le fil anglais Le tout en moins de 5 minutes. Le dialogue recherche n'est pas là pour joli dans le décor
Cordialement
Luke
Une recherche avec le mot impression et...
Imprimer toutes les feuilles
donne le lien vers le site anglophone
Advanced printing macro's
Et un bout de code trouvé dans le fil anglais
Code : Tout sélectionner
Sub Main
REM Set backgroundImage-option in DocumentSettings to True
DIM oDoc, oSettings AS Object
oSettings = oDoc.createInstance("com.sun.star.text.DocumentSettings")
oSettings.PrintPageBackground = TRUE
End Sub| Ajout : A vouloir tirer plus vite que son ombre, on fini par écrire des bêtises (sur le fond (de la question)) |
Luke
Dernière modification par luky-luke le 26 févr. 2018 19:55, modifié 1 fois.
LibO 7.4.7.2 Raspberry pi (Trixie) et Libo 7.6.5.2 LinuxMint 22
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
-
Hubert Lambert
- SuppOOrter

- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc ou Writer] Imprimer en recto
Bonjour,
Essaye ceci : http://www.openoffice.org/api/docs/comm ... DuplexMode
Cordialement.
Essaye ceci :
Code : Tout sélectionner
doc = thiscomponent
dim printoptions(0) as new com.sun.star.beans.PropertyValue
printoptions(0).Name = "DuplexMode"
printoptions(0).Value = com.sun.star.view.DuplexMode.OFF
doc.print(printoptions())Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
natorp
- Membre hOOnoraire

- Messages : 106
- Inscription : 24 nov. 2009 18:31
Re: [Calc ou Writer] Imprimer en recto
Bonjour
Merci Luke et Hubert, mais
luke : quand je lance la macro que tu as mis en ligne j'ai cette erreur "variable d'objet non définie" à la ligne :
Hubert : avec la macro que tu as mis en ligne, cela ne m'imprime que la première page, comment faire pour associer le code que tu m'as fourni sur un autre post qui permet d'imprimer toutes les feuilles :
Mon but final étant d'imprimer toutes les feuilles d'un document en recto via une macro associée à un bouton
Merci à vous, cordialement, Gérard
Merci Luke et Hubert, mais
luke : quand je lance la macro que tu as mis en ligne j'ai cette erreur "variable d'objet non définie" à la ligne :
Code : Tout sélectionner
oSettings = oDoc.createInstance("com.sun.star.text.DocumentSettings")Code : Tout sélectionner
doc = thiscomponent
gss = createunoservice("com.sun.star.sheet.GlobalSheetSettings")
allsheets = gss.PrintAllSheets
gss.PrintAllSheets = True
doc.print(array())
gss.PrintAllSheets = allsheetsMerci à vous, cordialement, Gérard
OOo 4.1.0 sous Win XP (imposé par notre administration)
-
luky-luke
- InconditiOOnnel

- Messages : 957
- Inscription : 27 nov. 2010 00:17
- Localisation : gâtine deux-sèvrienne
Re: [Calc][Writer] Imprimer en recto
Bonjour
mais ce bout de code ne concerne que l'arrière plan de la page... Ben oui, j’étais à coté de la plaque 
Pour [Calc]
Et pour [Writer]
Cordialement
Luke
C'est normal, il faut ajouter la ligne suivantenatorp a écrit :"variable d'objet non définie"
Code : Tout sélectionner
oDoc = ThisComponentPour imprimer toute les pages, il y a une petite nuance dans le compte des pages entre [Calc] et [Writer]natorp a écrit :cela ne m'imprime que la première page
Pour [Calc]
Code : Tout sélectionner
Feuilles = ThisComponent.sheets.count
dim printoptions(1) as new com.sun.star.beans.PropertyValue
printoptions(0).Name = "DuplexMode"
printoptions(0).Value = com.sun.star.view.DuplexMode.OFF
printoptions(1).Name = "Page"
printoptions(1).Value = "1-" & Feuilles
ThisComponent.print(printoptions())Code : Tout sélectionner
Feuilles = ThisComponent.CurrentController.PageCount
dim printoptions(1) as new com.sun.star.beans.PropertyValue
printoptions(0).Name = "DuplexMode"
printoptions(0).Value = com.sun.star.view.DuplexMode.OFF
printoptions(1).Name = "Page"
printoptions(1).Value = "1-" & Feuilles
ThisComponent.print(printoptions())Luke
Dernière modification par luky-luke le 27 févr. 2018 15:56, modifié 1 fois.
LibO 7.4.7.2 Raspberry pi (Trixie) et Libo 7.6.5.2 LinuxMint 22
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
-
natorp
- Membre hOOnoraire

- Messages : 106
- Inscription : 24 nov. 2009 18:31
Re: [Calc][Writer] Imprimer en recto
Merci
Tu ne dois pas en être loin, mais, en l'occurrence, j'ai mis ce code dans un fichier calc, et cela n'a imprimé que la 1ère page...
Quand je fais l'aperçu, il y a 20 pages et quand je fais le pas à pas (F8), Feuilles est bien égal à 20
Zut, zut !! merci pour ton aide, cordialement, Gérard
Tu ne dois pas en être loin, mais, en l'occurrence, j'ai mis ce code dans un fichier calc, et cela n'a imprimé que la 1ère page...
Quand je fais l'aperçu, il y a 20 pages et quand je fais le pas à pas (F8), Feuilles est bien égal à 20
Zut, zut !! merci pour ton aide, cordialement, Gérard
OOo 4.1.0 sous Win XP (imposé par notre administration)
-
Hubert Lambert
- SuppOOrter

- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc][Writer] Imprimer en recto
Code : Tout sélectionner
doc = thiscomponent
dim printoptions(0) as new com.sun.star.beans.PropertyValue
printoptions(0).Name = "DuplexMode"
printoptions(0).Value = com.sun.star.view.DuplexMode.OFF
doc.print(printoptions())Code : Tout sélectionner
doc = thiscomponent
gss = createunoservice("com.sun.star.sheet.GlobalSheetSettings")
allsheets = gss.PrintAllSheets
gss.PrintAllSheets = True
doc.print(array())
gss.PrintAllSheets = allsheetsCode : Tout sélectionner
doc = thiscomponent
gss = createunoservice("com.sun.star.sheet.GlobalSheetSettings")
allsheets = gss.PrintAllSheets
gss.PrintAllSheets = True
dim printoptions(0) as new com.sun.star.beans.PropertyValue
printoptions(0).Name = "DuplexMode"
printoptions(0).Value = com.sun.star.view.DuplexMode.OFF
doc.print(printoptions())
gss.PrintAllSheets = allsheetsAOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
luky-luke
- InconditiOOnnel

- Messages : 957
- Inscription : 27 nov. 2010 00:17
- Localisation : gâtine deux-sèvrienne
Re: [Calc][Writer] Imprimer en recto
Re
Décidément je manque de pratique en ce moment et je commets erreur sur erreur, mais je suis bien décidé à reprendre l’entraînement. Désolé...
Je viens de corriger les deux bouts de code publiés au dessus en donnant la bonne dimension au tableau
Cordialement
Luke
Décidément je manque de pratique en ce moment et je commets erreur sur erreur, mais je suis bien décidé à reprendre l’entraînement. Désolé...
Je viens de corriger les deux bouts de code publiés au dessus en donnant la bonne dimension au tableau
En même temps (comme dirais un gars célèbre) la solution de Hubert Lambert est pas maldim printoptions(1) as new com.sun.star.beans.PropertyValue
Cordialement
Luke
Dernière modification par luky-luke le 27 févr. 2018 17:36, modifié 1 fois.
LibO 7.4.7.2 Raspberry pi (Trixie) et Libo 7.6.5.2 LinuxMint 22
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
-
natorp
- Membre hOOnoraire

- Messages : 106
- Inscription : 24 nov. 2009 18:31
Re: [Calc][Writer] Imprimer en recto
Re
Merci à vous de bien vouloir m'aider, le code de Hubert imprime bien les 20 feuilles mais pas en recto, elles sont imprimées en Recto/Verso
Cordialement, Gérard
Merci à vous de bien vouloir m'aider, le code de Hubert imprime bien les 20 feuilles mais pas en recto, elles sont imprimées en Recto/Verso
Cordialement, Gérard
OOo 4.1.0 sous Win XP (imposé par notre administration)
-
luky-luke
- InconditiOOnnel

- Messages : 957
- Inscription : 27 nov. 2010 00:17
- Localisation : gâtine deux-sèvrienne
Re: [Basic] Imposer une impression en recto uniquement
Rere
Si l'imprimante ne veut pas prendre en compte l'option "DuplexMode" la solution est peut-être d'imprimer feuille par feuille.
Exemple à tester pour [Calc)
Il y a un temps d'attente dans la boucle histoire que l'imprimante est le temps de créer une file d'attente et que toutes les feuilles soient dans l'ordre.
Cordialement
Luke
Si l'imprimante ne veut pas prendre en compte l'option "DuplexMode" la solution est peut-être d'imprimer feuille par feuille.
Exemple à tester pour [Calc)
Code : Tout sélectionner
NbFeuilles = ThisComponent.Sheets.Count
For i = 1 to NbFeuilles
dim printoptions(0) as new com.sun.star.beans.PropertyValue
printoptions(0).Name = "Page"
printoptions(0).Value = i
ThisComponent.print(printoptions())
wait 100
NextCordialement
Luke
Dernière modification par luky-luke le 03 mars 2018 17:50, modifié 1 fois.
LibO 7.4.7.2 Raspberry pi (Trixie) et Libo 7.6.5.2 LinuxMint 22
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
-
Hubert Lambert
- SuppOOrter

- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Basic] Imposer une impression en recto uniquement
Il est aussi possible d'utiliser l'option Wait pour garantir l'ordre d'impressionluky-luke a écrit :Il y a un temps d'attente dans la boucle histoire que l'imprimante est le temps de créer une file d'attente et que toutes les feuilles soient dans l'ordre.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
Hubert Lambert
- SuppOOrter

- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc][Writer] Imprimer en recto
Je viens d'essayer sur une imprimer réseau au boulot, et ça fonctionne correctement.natorp a écrit :Merci à vous de bien vouloir m'aider, le code de Hubert imprime bien les 20 feuilles mais pas en recto, elles sont imprimées en Recto/Verso
Je note au passage que l'option "DuplexMode" modifie le paramètre recto/verso pour la session en cours, pas seulement pour le travail demandé. Il faut donc en être conscient pour les impressions suivantes, avec ou sans macro...
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
natorp
- Membre hOOnoraire

- Messages : 106
- Inscription : 24 nov. 2009 18:31
Re: [Basic] Imposer une impression en recto uniquement
bonjour
Luke : après avoir remplacé le "end if" par "next"
j'ai un message d'erreur lorsque la macro arrive sur i=2 : "sequence element is not assignable by given value !"
Hubert : tu as réussi avec quelle macro ?
Merci pour votre aide, cordialement, Gérard
Luke : après avoir remplacé le "end if" par "next"
j'ai un message d'erreur lorsque la macro arrive sur i=2 : "sequence element is not assignable by given value !"
Hubert : tu as réussi avec quelle macro ?
Merci pour votre aide, cordialement, Gérard
OOo 4.1.0 sous Win XP (imposé par notre administration)
-
Hubert Lambert
- SuppOOrter

- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Basic] Imposer une impression en recto uniquement
https://forum.openoffice.org/fr/forum/v ... 41#p308641natorp a écrit :Hubert : tu as réussi avec quelle macro ?
As-tu pu l'essayer ?
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
natorp
- Membre hOOnoraire

- Messages : 106
- Inscription : 24 nov. 2009 18:31
Re: [Basic] Imposer une impression en recto uniquement
Bonjour Hubert
Oui je l'ai essayé et comme je l'ai écrit en peu plus haut cela m'imprime bien toutes les pages, mais en recto/verso
Cordialement, Gérard
Oui je l'ai essayé et comme je l'ai écrit en peu plus haut cela m'imprime bien toutes les pages, mais en recto/verso
Cordialement, Gérard
OOo 4.1.0 sous Win XP (imposé par notre administration)
-
Hubert Lambert
- SuppOOrter

- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Basic] Imposer une impression en recto uniquement
Essaie-la peut-être sur une autre imprimante.
Comme ça marche de mon côté, difficile d'aller plus loin.
Par acquit de conscience, copie ici le code exact que tu utilises, une coquille s'y est éventuellement glissée...
Comme ça marche de mon côté, difficile d'aller plus loin.
Par acquit de conscience, copie ici le code exact que tu utilises, une coquille s'y est éventuellement glissée...
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
natorp
- Membre hOOnoraire

- Messages : 106
- Inscription : 24 nov. 2009 18:31
Re: [Basic] Imposer une impression en recto uniquement
Merci Hubert,
Il ne me semble pas m'être trompé :
Cordialement, Gérard
Il ne me semble pas m'être trompé :
Code : Tout sélectionner
sub Impression
doc = thiscomponent
gss = createunoservice("com.sun.star.sheet.GlobalSheetSettings")
allsheets = gss.PrintAllSheets
gss.PrintAllSheets = True
dim printoptions(0) as new com.sun.star.beans.PropertyValue
printoptions(0).Name = "DuplexMode"
printoptions(0).Value = com.sun.star.view.DuplexMode.OFF
doc.print(printoptions())
gss.PrintAllSheets = allsheets
end subOOo 4.1.0 sous Win XP (imposé par notre administration)
-
Hubert Lambert
- SuppOOrter

- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Basic] Imposer une impression en recto uniquement
Désolé, je suis un peu à cours d'idée.
Quid d'une autre imprimante ?
Quid d'une autre imprimante ?
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
natorp
- Membre hOOnoraire

- Messages : 106
- Inscription : 24 nov. 2009 18:31
Re: [Basic] Imposer une impression en recto uniquement
Merci Hubert
Je clôture, tant pis
Cordialement, Gérard
Je clôture, tant pis
Cordialement, Gérard
OOo 4.1.0 sous Win XP (imposé par notre administration)
-
Dude
- IdOOle de la suite

- Messages : 26242
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Résolu][Basic] Imposer une impression en recto uniqueme
Chez nous, ce paramétrage est fixé volontairement par une stratégie réseau.
Si tu n'as pas les droits suffisants, tu ne pourras pas modifier ce paramètre.
Dans un cadre Agenda21 et économie de papier, je ne comprends pas l'intérêt de forcer du recto.
Si tu n'as pas les droits suffisants, tu ne pourras pas modifier ce paramètre.
Dans un cadre Agenda21 et économie de papier, je ne comprends pas l'intérêt de forcer du recto.
-
tomatoes
- Membre hOOnoraire

- Messages : 100
- Inscription : 31 mai 2010 11:58
Re: [Résolu][Basic] Imposer une impression en recto uniquement
Bonjour
Pour répondre à Dude on fait un modèle de document avec plusieurs pages mais des fois chaque page doit être donnée ou envoyée à des destinataires différents (et on veut pas faire plusieurs documents car on veut que ce soit regroupé sur un seul pour tout avoir au même endroit).
En tout cas dans mon cas c'était cela.
De mon côté le passage de la propriété DuplexMode à false a suffit.
Bonne après midi
Pour répondre à Dude on fait un modèle de document avec plusieurs pages mais des fois chaque page doit être donnée ou envoyée à des destinataires différents (et on veut pas faire plusieurs documents car on veut que ce soit regroupé sur un seul pour tout avoir au même endroit).
En tout cas dans mon cas c'était cela.
De mon côté le passage de la propriété DuplexMode à false a suffit.
Bonne après midi
Libre office 24.2.6 sous Windows 11
-
Bidouille
- RespOOnsable forum

- Messages : 12895
- Inscription : 08 nov. 2005 16:23
- Localisation : Brest, France
Re: [Résolu][Basic] Imposer une impression en recto uniquement
Ami fossoyeur,
Déterrage = verrouillage
Merci de ne plus exhumer des sujets résolus il y a plus de 5 ans.
Déterrage = verrouillage
Merci de ne plus exhumer des sujets résolus il y a plus de 5 ans.