[Risolto] Modifica Macro Stampa e Salvataggio in PDF

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
sermedix
Messaggi: 48
Iscritto il: domenica 27 novembre 2016, 15:36

[Risolto] Modifica Macro Stampa e Salvataggio in PDF

Messaggio da sermedix »

Salve, grazie al vostro aiuto ho creato una macro che mi consente di mandare in stampa una parte della pagina e di salvare il file in pdf.
Ora ho la necessità di inserire una nuova parte da mandare in stampa sul retro del foglio e di salvare il tutto nel file pdf.
Vi posto il codice:

Codice: Seleziona tutto

'MANDA IN STAMPA LA FATTURA-----------------------------------------------------------------------------------------------------------------------------------------------------
    Sub Stampa() ' solo la prima pagina
    Dim Param(1) As New com.sun.star.beans.PropertyValue
       
    Param(0).Name = "CopyCount"
    Param(0).Value = 1
    Param(1).Name = "Pages"
    Param(1).Value = "1"
    ThisComponent.Print( Param() )   
    End sub

    Function  LastRowNumberinColumn(oSheet, numcol)
    oCol = oSheet.getColumns().getByIndex(numcol)
    rd = oCol.createReplaceDescriptor
    rd.searchRegularExpression = true
    rd.setSearchString(".")
    find = oCol.FindAll(rd)
    aray = Split(find.AbsoluteName,"$")
    LastRowNumberinColumn = val(aray(ubound(Aray)))
    End Function

Codice: Seleziona tutto

    'SALVA IN .PDF COL NOME COSTITUITO DAL NUMERO FATTURA E NOME UTENTE------------------------------------------------------------------------------------------------------------
    Sub EsportaSelezione_in_PDF
	Dim mFilterData(0) As New com.sun.star.beans.PropertyValue
	oDoc = ThisComponent
	Sheet = oDoc.getCurrentController.ActiveSheet
	aSel = oDoc.getCurrentSelection.RangeAddress
	cellnome = Sheet.getCellRangeByName("G3").string ' <<< cella da dove prendere il NUMERO
	num = Format(Sheet.GetCellRangeByName("G3").value,"000")
	cellnum = Sheet.getCellRangeByName("C7").string ' cella da dove prendere il nome
	fname =  "file:///D:/Dropbox/STUDIO/Fatture 2018/" & cellnome & " " & cellnum & ".PDF" ' <<< nome fattura
	mFilterData(0).Name = "A1:O46" 'area esportata in pdf
	mFilterData(0).Value = Sheet.getCellRangeByPosition(aSel.StartColumn, aSel.StartRow, aSel.EndColumn, aSel.EndRow)
Grazie per l'aiuto
Ultima modifica di charlie il domenica 27 maggio 2018, 9:06, modificato 2 volte in totale.
Motivazione: Aggiunta spunta verde
Win10
Openoffice 4.1.1
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Modifica Macro Stampa e Salvataggio in PDF

Messaggio da patel »

non ho capito
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Modifica Macro Stampa e Salvataggio in PDF

Messaggio da unlucky83 »

Per il pdf non devi modificare nulla perchè il pdf non ha un retro.
Per stampare sul retro devi impostare la stampa fronte-retro e se lo vuoi fare da macro devi impostare la giusta proprietà e passare quindi da Param(1) a Param(2)

Al momento non sono abbastanza sveglio per trovare il nome della proprietà giusta. Intanto chiarisci meglio se ho compreso male ciò che vuoi.
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
sermedix
Messaggi: 48
Iscritto il: domenica 27 novembre 2016, 15:36

Re: Modifica Macro Stampa e Salvataggio in PDF

Messaggio da sermedix »

Le macro in questo momento salvano il file in pdf e mandano in stampa le celle da A0 a O21 (area di stampa). Ho provato ad aumentare l'area come riportato nella macro in modo che mi stampasse anche il trattamento dei dati personali oltre che la fattura ma non funziona, continua a stampare solo la prima pagina.
Come arrivo in studio vi allego il file
Win10
Openoffice 4.1.1
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Modifica Macro Stampa e Salvataggio in PDF

Messaggio da patel »

prova con
mFilterData(0).Name = "Selection"
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
Eramad
Volontario
Volontario
Messaggi: 278
Iscritto il: martedì 10 aprile 2018, 14:56
Località: Pistoia

Re: Modifica Macro Stampa e Salvataggio in PDF

Messaggio da Eramad »

sermedix ha scritto:... le celle da A0 a O21 (area di stampa). ...
Scusate se mi intrometto ma leggendo AREA DI STAMPA mi è venuto il dubbio che sia impostato quell'intervallo come area di stampa nel foglio e che quindi non stampa altro perchè l'area è limitata a quelle celle.
Apache OpenOffice 4.1.5 su Windows 10

Se hai risolto il problema, ricordati di aggiungere [RISOLTO]: viewtopic.php?f=9&t=5661
sermedix
Messaggi: 48
Iscritto il: domenica 27 novembre 2016, 15:36

Re: Modifica Macro Stampa e Salvataggio in PDF

Messaggio da sermedix »

Ho provato ad aumentare l'area ma continua a stampare solo una pagina
Win10
Openoffice 4.1.1
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Modifica Macro Stampa e Salvataggio in PDF

Messaggio da patel »

ma tu selezioni il range da stampare ? la macro stampa la selezione e quindi non ha senso definire un'area di stampa e neppure la riga
mFilterData(0).Name = "A1:O46" 'area esportata in pdf
che deve essere sostituita da
mFilterData(0).Name = "Selection"

se non risolvi allega il file
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
sermedix
Messaggi: 48
Iscritto il: domenica 27 novembre 2016, 15:36

Re: Modifica Macro Stampa e Salvataggio in PDF

Messaggio da sermedix »

Ho modificato l'area di stampa (ora salva il pdf con le due pagine) ed impostato affinchè la stampante stampi fronte retro in maniera manuale ma continua a stampare solo la prima pagina.
Vi allego il file con tutte le macro
Allegati
--- Fattura ---.ods
(29.26 KiB) Scaricato 171 volte
Win10
Openoffice 4.1.1
Avatar utente
unlucky83
Volontario
Volontario
Messaggi: 2355
Iscritto il: lunedì 7 gennaio 2013, 1:23
Località: Latina

Re: Modifica Macro Stampa e Salvataggio in PDF

Messaggio da unlucky83 »

Stampa ciò che gli dici di stampare

Codice: Seleziona tutto

    Param(1).Name = "Pages"
    Param(1).Value = "1"
Io proverei con "1-2"
LibO:Versione: 6.2.8.2
Build ID: 1:6.2.8~rc2-0ubuntu0.16.04.1- 32-bit
-
Se risolvi:
1. Condividi la soluzione qui con noi
2. Metti [Risolto] al titolo del primo messaggio come spiegato qui
sermedix
Messaggi: 48
Iscritto il: domenica 27 novembre 2016, 15:36

Re: [RISOLTO]Modifica Macro Stampa e Salvataggio in PDF

Messaggio da sermedix »

Grazie Unlucky83 ho risolto seguendo il tuo consiglio
Win10
Openoffice 4.1.1
Rispondi