Hallo Lars

Lars Lehmann schrieb:
Hallo zusammen,

Ich suche nach einem Weg die Eingabe von Zeitwerten alla "12:55" zu
beschleunigen. Insbesondere den ständigen wechsel zwischen NUM-Block
und ":" finde ich nervig, weil ich diesen entgegen den Eingaben auf
dem NUM-Block nicht blind hinbekomme.
Meine Idee per Autokorrektur ",," durch ":" ersetzen zu lassen
furchtet nicht, da Korreturen im Wort halt nicht gehen.

Kennt einer von euch einen Weg, wie man Zeitwerte ohne die Eingabe des
":" nur mit Hilfe des Numblock eingeben kann?
Ich kann dir zwei Makrovarianten anbieten, die das Einfügen eines Doppelpunktes und Umwandeln in Zeitformat hh:mm erledigen.


Variante a. Eingabe 2 bis 4stellig ohne Doppelpunkt (hhmm) min. (mm)
Wandelt einen Selektierten Zellbereich insgesamt um

Sub format_zeit
oSelect=ThisComponent.CurrentSelection
oColumn=oselect.Columns
oRow=oSelect.Rows
For n= 0 To oColumn.getCount-1
    For m = 0 To oRow.getCount-1
        oCell=oselect.getCellByPosition (n, m)
            eintrag = oCell.String
            If Len(eintrag) = 4 Then
            links = Left(eintrag, 2)
            rechts = Right(eintrag, 2)
            neu_eintrag = links & ":" & rechts
            oCell.String = ""
            oCell.NumberFormat = 40
            oCell.FormulaLocal = neu_eintrag
            End If
            If Len(eintrag) = 3 Then
            links = Left(eintrag, 1)
            rechts = Right(eintrag, 2)
            neu_eintrag = links & ":" & rechts
            oCell.String = ""
            oCell.NumberFormat = 40
            oCell.FormulaLocal = neu_eintrag
            End If
            If Len(eintrag) = 2 Then
            'links = Left(eintrag, 2)
            rechts = Right(eintrag, 2)
            neu_eintrag = "0:" & rechts
            oCell.String = ""
            oCell.NumberFormat = 40
            oCell.FormulaLocal = neu_eintrag
            End If
    Next m
Next n
End Sub

Variante b
Schliest die Eingabe in eine Zelle ab, selektiert diese, wandelt um und wechselt nach unten : Eingabe (hhmm) oder (hmm)

sub zeitformat

rem define variables
dim document   as object
dim dispatcher as object
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
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:GoDown", "", 0, args2())


dim args8(17) as new com.sun.star.beans.PropertyValue
args8(0).Name = "SearchItem.StyleFamily"
args8(0).Value = 2
args8(1).Name = "SearchItem.CellType"
args8(1).Value = 0
args8(2).Name = "SearchItem.RowDirection"
args8(2).Value = true
args8(3).Name = "SearchItem.AllTables"
args8(3).Value = false
args8(4).Name = "SearchItem.Backward"
args8(4).Value = false
args8(5).Name = "SearchItem.Pattern"
args8(5).Value = false
args8(6).Name = "SearchItem.Content"
args8(6).Value = false
args8(7).Name = "SearchItem.AsianOptions"
args8(7).Value = false
args8(8).Name = "SearchItem.AlgorithmType"
args8(8).Value = 1
args8(9).Name = "SearchItem.SearchFlags"
args8(9).Value = 71680
args8(10).Name = "SearchItem.SearchString"
args8(10).Value = "[0-9][0-9]$"
args8(11).Name = "SearchItem.ReplaceString"
args8(11).Value = ":&"
args8(12).Name = "SearchItem.Locale"
args8(12).Value = 255
args8(13).Name = "SearchItem.ChangedChars"
args8(13).Value = 2
args8(14).Name = "SearchItem.DeletedChars"
args8(14).Value = 2
args8(15).Name = "SearchItem.InsertedChars"
args8(15).Value = 2
args8(16).Name = "SearchItem.TransliterateFlags"
args8(16).Value = 1280
args8(17).Name = "SearchItem.Command"
args8(17).Value = 3

dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args8())

rem
dim args11(0) as new com.sun.star.beans.PropertyValue
args11(0).Name = "NumberFormatValue"
args11(0).Value = 40

dispatcher.executeDispatch(document, ".uno:NumberFormatValue", "", 0, args11())
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args3())
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())

end sub


Gruß Werner

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an