Zdravím vás,
potřeboval bych poradit, když někdo zapomene zapnutý nějaký filtr, tak ho před spuštěním různých maker, makrem zrušit.
Co jsem četl po internetu, tak se toto řeší i na anglických fórech např: zde, ale všude bez vyřešení problému.
Kódy jako:
Sub RemoveSheetFilter()
Dim oSheet, list ' Sheet to filter.
Dim oFilterDesc ' Filter descriptor.
oSheet = ThisComponent.getSheets()
list = oSheet.getByName("Seznam materiálu")
oFilterDesc = list.createFilterDescriptor(True)
oFilterDesc.UseRegularExpressions = True
list.filter(oFilterDesc)
End Sub
nebo
Sub DeleteFiltr
Dim args(0) as new com.sun.star.beans.PropertyValue
Dim oDispatcher, oFrame as object
oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oFrame = ThisComponent.CurrentController.Frame
args(0).Name = "ToPoint"
args(0).Value = "$B$9" 'any cell of database range
oDispatcher.executeDispatch(oFrame, ".uno:GoToCell", "", 0, args())
oDispatcher.executeDispatch(oFrame, ".uno:DataFilterRemoveFilter", "", 0, Array())
End Sub
Pouze odkryjí skryté řádky, ale stále je aktivní šipečka filtru a podle filtru pro vedlejší sloupec, kde je omezená nabídka podle filtru z předchozího sloupce je vidět, že filtr pořád není zrušený.
Má v dnešní době někdo návrhy jak toto vyřešit.
Díky za rady