[Risolto]Salvare un PDF solo se una cella ha un valore
Inviato: mercoledì 8 maggio 2024, 19:47
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
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