Hallo,
das folgende Makro macht an sich nichts anderes als die Tabelle zu
markieren. Dann das markierte zu sortieren. In eine Spalte zu gehen und
in ein bestimmtes Feld zu gehen.
Das markieren funktioniert immer ohne Fehler.
In die Spalte zu gehen und in die Zelle zu springen funktioniert auch immer.
Was aber nicht immer Fehlerfrei funktioniert ist das sortieren. Mal
fehlt die eine oder andere Spalte. Mal ist zwar sortiert worden (Zeilen)
die Infos sind aber total durcheinander geworfen.
das ganze passiert aber nur bei dem Makro. Mache ich das gleiche per
Hand, kommt das richtige raus.
Makro:
Rem --------------------------------------------- Sortieren_Aktion
------------------------------------------------
Sub Sortieren_Aktion
rem --------------------------------------------------------------
define variables für Dokumentzugang
dim document as object
dim dispatcher as object
rem --------------------------------------------------------------
Dokumentzugang
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem --------------------------------------------------------------
Variablen definition
rem ----------------------------------------------Index +1 wie Argument
und dreistellig
dim args001(0) as new com.sun.star.beans.PropertyValue
dim args002(1) as new com.sun.star.beans.PropertyValue
dim args011(10) as new com.sun.star.beans.PropertyValue
dim args018(17) as new com.sun.star.beans.PropertyValue
rem ---------------------------------- Unterprocedur aufruf
----------------------------
Tabelle_markieren
rem ---------------------------------- Befehle
-----------------------------------------
args011(0).Name = "ByRows"
args011(0).Value = true
args011(1).Name = "HasHeader"
args011(1).Value = true
args011(2).Name = "CaseSensitive"
args011(2).Value = false
args011(3).Name = "IncludeAttribs"
args011(3).Value = false
args011(4).Name = "UserDefIndex"
args011(4).Value = 0
args011(5).Name = "Col1"
args011(5).Value = 10
args011(6).Name = "Ascending1"
args011(6).Value = true
args011(7).Name = "Col2"
args011(7).Value = 9
args011(8).Name = "Ascending1"
args011(8).Value = true
args011(9).Name = "Col3"
args011(9).Value = 6
args011(10).Name = "Ascending1"
args011(10).Value = true
dispatcher.executeDispatch(document, ".uno:DataSort", "", 0, args011())
rem ---------------------------------- Befehle
-----------------------------------------
args001(0).Name = "Sel"
args001(0).Value = false
dispatcher.executeDispatch(document, ".uno:GoToStart", "", 0,
args001())
rem ----------------------------------------------------------------------
args002(0).Name = "By"
args002(0).Value = 1
args002(1).Name = "Sel"
args002(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args002())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args002())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args002())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args002())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args002())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args002())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args002())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args002())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args002())
rem ----------------------------------------------------------------------
args002(0).Name = "By"
args002(0).Value = 1
args002(1).Name = "Sel"
args002(1).Value = true
dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "",
0, args002())
rem ----------------------------------------------------------------------
args018(0).Name = "SearchItem.StyleFamily"
args018(0).Value = 2
args018(1).Name = "SearchItem.CellType"
args018(1).Value = 0
args018(2).Name = "SearchItem.RowDirection"
args018(2).Value = true
args018(3).Name = "SearchItem.AllTables"
args018(3).Value = false
args018(4).Name = "SearchItem.Backward"
args018(4).Value = false
args018(5).Name = "SearchItem.Pattern"
args018(5).Value = false
args018(6).Name = "SearchItem.Content"
args018(6).Value = false
args018(7).Name = "SearchItem.AsianOptions"
args018(7).Value = false
args018(8).Name = "SearchItem.AlgorithmType"
args018(8).Value = 0
args018(9).Name = "SearchItem.SearchFlags"
args018(9).Value = 71680
args018(10).Name = "SearchItem.SearchString"
args018(10).Value = "nachf"
args018(11).Name = "SearchItem.ReplaceString"
args018(11).Value = ""
args018(12).Name = "SearchItem.Locale"
args018(12).Value = 255
args018(13).Name = "SearchItem.ChangedChars"
args018(13).Value = 2
args018(14).Name = "SearchItem.DeletedChars"
args018(14).Value = 2
args018(15).Name = "SearchItem.InsertedChars"
args018(15).Value = 2
args018(16).Name = "SearchItem.TransliterateFlags"
args018(16).Value = 1280
args018(17).Name = "SearchItem.Command"
args018(17).Value = 0
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0,
args018())
end sub
Beachte ich hier was nicht?
Das System ist Win 8.1 und Aoo ist 4.0.1
Gruß
Christian
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]