Pagina 1 di 1

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

Inviato: mercoledì 8 maggio 2024, 19:47
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

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

Inviato: giovedì 9 maggio 2024, 10:24
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

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

Inviato: giovedì 9 maggio 2024, 12:29
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!!