[Risolto]Salvare un PDF solo se una cella ha un valore

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
ferro0099
Messaggi: 113
Iscritto il: giovedì 28 ottobre 2021, 18:44

[Risolto]Salvare un PDF solo se una cella ha un valore

Messaggio da ferro0099 »

uso questo script abbinato ad un pulsante per salvare il mio foglio in pdf:

Sub SalvaPDF

Dim Doc As Object
Dim Sheet As Object
Dim mFilterData(0) As New com.sun.star.beans.PropertyValue

Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets.GetByIndex(4)
oRng = Sheet.getCellRangeByName("A1:H47")
NumLotto = Sheet.getCellRangeByName("B9").Value
NumeroResa = Sheet.getCellRangeByName("H1").Value
DataCMRJomi = Sheet.GetCellRangeByName("B13")
DataY = DataCMRJomi.Value
DateLong = cDateToIso(DataY)
mFilterData(0).Name = "Selection"
mFilterData(0).Value = oRng

Rem Mese MM
AAAA = Right(Year(Now()),4) 'Nel caso AA sia <10 verrà rappresentato automaticamente come "0A"
Rem Mese MM
MM = Month(DataY())
If Len(MM) <2 Then
MM = "00" & CStr(MM)
End if
Rem Giorno GG
GG = Day(DataY())
If Len(GG) <2 Then
GG = "0" & CStr(GG)
End if

GruppoDataOra = GG & "-" & MM & " -" & "" & AAAA

mkdir ("C:\Users\Ferro\Desktop\CSV\DDT Toner\DDT Salvati\Rese_DDT\ReseJomi\ReseN\" & Sheet.getCellRangeByName("L3").String
sUrl = "file:///C:/Users/Ferro/Desktop/CSV/DDT Toner/DDTSalvati/Rese_DDT/ReseJomi/ReseN/ " & " N°resa " & NumeroResa &" - " & " N°Lotto " & NumLotto & "-" & " CMR del " & GruppoDataOra & ".pdf"

Dim mStoreOpts(2) As New com.sun.star.beans.PropertyValue
mStoreOpts(0).Name = "Overwrite"
mStoreOpts(0).Value = True
mStoreOpts(1).Name = "FilterName"
mStoreOpts(1).Value = "calc_pdf_Export"
mStoreOpts(2).Name = "FilterData"

mStoreOpts(2).Value = mFilterData()
ThisComponent.storeToURL(sURL, mStoreOpts())
wait 20
MsgBox "Salvataggio PDF Avvenuto "
wait 20
End Sub

Chiedo cosa dovrei aggiungere per far sì che il pulsante sia attivo solo se una cella (esempio A1) sia scritta altrimenti non sia attivo il pulsante

Grazie in anticipo
Ultima modifica di ferro0099 il giovedì 9 maggio 2024, 12:28, modificato 1 volta in totale.
Windows 10 - Open Office 4.1.1
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Salvare un PDF solo se una cella ha un valore

Messaggio da patel »

Il modo più semplice è far terminare la sub se la cella è vuota

Codice: Seleziona tutto

Sub SalvaPDF

Dim Doc As Object
Dim Sheet As Object
Dim mFilterData(0) As New com.sun.star.beans.PropertyValue

Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets.GetByIndex(4)
If Sheet.getCellRangeByName("A1").String = "" then Exit Sub
' ---------- segue il resto
-------------------
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
ferro0099
Messaggi: 113
Iscritto il: giovedì 28 ottobre 2021, 18:44

Re: Salvare un PDF solo se una cella ha un valore

Messaggio da ferro0099 »

patel ha scritto: giovedì 9 maggio 2024, 10:24 Il modo più semplice è far terminare la sub se la cella è vuota

Codice: Seleziona tutto

Sub SalvaPDF

Dim Doc As Object
Dim Sheet As Object
Dim mFilterData(0) As New com.sun.star.beans.PropertyValue

Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets.GetByIndex(4)
If Sheet.getCellRangeByName("A1").String = "" then Exit Sub
' ---------- segue il resto
Grazie Patel... perfetto!!
Windows 10 - Open Office 4.1.1
Rispondi