Errore dopo applicazione Filtro automatico impossibile salvare il file
Inviato: lunedì 19 febbraio 2024, 15:14
Salve,
da un paio di giorni sto sbattendo la testa contro un problema assai strano.
Dopo aver ordinato A-Z un elenco tramite codice, mi sparice il filtro automatico impostato sulla cella di intestazione.
Dopo aver registrato il codice per applicare un filtro alla cella intestazione dell'elenco, il file viene bloccato e non si riesce più a sovrascrivere salvare.
ho provato a rielaborare come segue
ma niente mi mette il filtro su B4.
Per caso anche a voi è mai capitato qualcosa di simile? cosa sto sbagliando?
Errore nel salvare il documento "NomeDoc"
Errore di scrittura.
Impossibile scrivere nel file.
Il foglio è protetto e viene sbloccato/ordinato/ribloccato in quel frangente si perde il filtro standard, proprio alla riga
oCellRange.Sort(oSortDesc())
Come risolvo?
Grazie mille
Ciao
da un paio di giorni sto sbattendo la testa contro un problema assai strano.
Dopo aver ordinato A-Z un elenco tramite codice, mi sparice il filtro automatico impostato sulla cella di intestazione.
Dopo aver registrato il codice per applicare un filtro alla cella intestazione dell'elenco, il file viene bloccato e non si riesce più a sovrascrivere salvare.
Codice: Seleziona tutto
sub ImpostaFiltro_Clienti
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$B$3"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = true
dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args2())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DataFilterAutoFilter", "", 0, Array())
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:TerminateInplaceActivation", "", 0, Array())
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:Cancel", "", 0, Array())
rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "Sel"
args6(0).Value = false
dispatcher.executeDispatch(document, ".uno:GoToStart", "", 0, args6())
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:TerminateInplaceActivation", "", 0, Array())
rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:Cancel", "", 0, Array())
end sub ho provato a rielaborare come segue
Codice: Seleziona tutto
Sub ImpostaFiltro_Clienti
REM Dim oSortFields(0) As New com.sun.star.util.SortField
Dim oDoc As Object
Dim FoglioAttivo as object
Dim FoglioClienti As Object
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
On Error GoTo ErrorHandler
oDoc = ThisComponent
FoglioClienti = oDoc.Sheets.GetByName("shClienti")
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$B$3"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DataFilterAutoFilter", "", 0, Array())
Exit Sub
ErrorHandler:
Call ErroreDiversoDaZero
End subPer caso anche a voi è mai capitato qualcosa di simile? cosa sto sbagliando?
Errore nel salvare il documento "NomeDoc"
Errore di scrittura.
Impossibile scrivere nel file.
Il foglio è protetto e viene sbloccato/ordinato/ribloccato in quel frangente si perde il filtro standard, proprio alla riga
oCellRange.Sort(oSortDesc())
Come risolvo?
Grazie mille
Ciao