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]

Antwort per Email an