nel file che stò utilizzando c'è una macro in Eventi foglio > contenuto modificato che inserisce la data in vari range semplicemente scrivendo solo il giorno http://forum.openoffice.org/it/forum/vi ... =26&t=7576
Codice: Seleziona tutto
Sub DataB(Target)
If NOT Target.supportsService("com.sun.star.sheet.SheetCell") then exit sub
sh = Target.getSpreadsheet()
Rngs = ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
Rngs.addRangeAddress(sh.getCellRangeByName("B4:B45").getRangeAddress() ,False )
Rngs.addRangeAddress(sh.getCellRangeByName("B57:B98").getRangeAddress() ,False )
Rngs.addRangeAddress(sh.getCellRangeByName("B110:B151").getRangeAddress() ,False )
range2 = Rngs.queryintersection(Target.rangeaddress())
If range2.RangeAddressesAsString = "" Then Exit Sub
Mesi = Array("GEN", "FEB", "MAR", "APR", "MAG", "GIU", "LUG", "AGO", "SET", "OTT", "NOV", "DIC")
gg = Target.Value
For i= 0 To Ubound(Mesi)
If sh.name = Mesi(i) Then mese = i + 1 : exit For
Next i
Anno = sh.getcellrangebyname("J1").value
svc = CreateUnoService("com.sun.star.sheet.FunctionAccess")
Dim param(1) as variant
param(0) = CDbl(DateSerial(Anno, mese, 1))
param(1) = 0
dataFin = svc.CallFunction("com.sun.star.sheet.addin.Analysis.getEomonth",param())
If Target.Value >= 1 And Target.Value <= Day(dataFin) Then
Target.Value = DateSerial(Anno, mese, gg)
End If
End Sub
1 visualizza tutte le righe
2 nasconde righe A2:A53
3 nasconde righe A2:A106
Ho provato a inserirla nel foglio3 e funziona
Codice: Seleziona tutto
Sub NascondiMostra
Sheet = ThisComponent.CurrentController.ActiveSheet
if Sheet.getCellRangeByName("A1").value = 1 then
Sheet.getCellRangeByName("A2:A106").Rows().IsVisible = True
elseif Sheet.getCellRangeByName("A1").value = 2 then
Sheet.getCellRangeByName("A2:A53").Rows().IsVisible = False
Sheet.getCellRangeByName("A54:A106").Rows().IsVisible = True
elseif Sheet.getCellRangeByName("A1").value = 3 then
Sheet.getCellRangeByName("A2:A106").Rows().IsVisible = False
end if
End sub
Ho crearne una unica, ho qualsiasi altro metodo ...??
Grazie