Witam Serdecznie!
W VBA stosuje się wyrażenie "Application.Displayalerts = False" do blokowania okna komunikatów na czas wykonywania pewnych poleceń. Analogicznie "Application.Displayalerts = True" odblokowuje okienka. Proszę o podanie odpowiednika w LibreOffice.
Jest mi to potrzebne do wywołania sortowania - by nie pytało o rozszerzenie zakresu, (jeżeli wykonuję sortowanie w pętli - to trwa zbyt długo)
...
args1(0).Name = "ToPoint"
args1(0).Value = "$D$5:$D$466"
disp.executeDispatch(doc, ".uno:GoToCell", "", 0, args1())
disp.executeDispatch(doc, ".uno:SortAscending", "", 0, Array())
po tym wyrażeniu wyskakuje okienko pytające o rozszerzenie zakresu, które blokuje dalsze wykonanie funkcji
z góry dziękuję za podpowiedź
Wszystko działa DZIĘKUJĘ i pozdrawiam
[SOLVED] Blokada komunikatów
[SOLVED] Blokada komunikatów
Ostatnio zmieniony pn wrz 30, 2013 10:39 am przez heniek, łącznie zmieniany 1 raz.
Libre Office v 4, na systemach Windows i Linux
Re: Blokada komunikatów
Poczytaj w AndrewMacro (google powie gdzie jest)
Kod: Zaznacz cały
'Author: Sasa Kelecevic
'email: scat@teol.net
Sub SortRange
Dim oSheetDSC,oDSCRange As Object
Dim aSortFields(0) As New com.sun.star.util.SortField
Dim aSortDesc(0) As New com.sun.star.beans.PropertyValue
'set your sheet name
oSheetDSC = ThisComponent.Sheets.getByName("Sheet1")
'set your range address
oDSCRange = oSheetDSC.getCellRangeByName("A1:L16")
ThisComponent.getCurrentController.select(oDSCRange)
aSortFields(0).Field = 0
aSortFields(0).SortAscending = FALSE
aSortDesc(0).Name = "SortFields"
aSortDesc(0).Value = aSortFields()
oDSCRange.Sort(aSortDesc())
End Sub
LibreOffice 5.1.2.2 Ubuntu 16 LTS