Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

a-zeller
*****
Beiträge: 361
Registriert: Fr, 05.11.2004 18:30

Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von a-zeller »

Bis jetzt war es so, dass ich in einer Zelle nur =s eingeben musste die Autovervollständigung bot mir =summe() mit dem Cursor zwischen den Klammern an und ich musste nur noch <Enter> drücken und den Zellbereich eingeben. 8)

Seit einiger Zeit wird mir leider statt =summe() immer =stunde() angeboten, so dass ich =su eingeben muss. Das ist kein Drama, nervt aber auf Dauer, weil Summe nun mal die am meisten von mir genutzte Funktion ist. :?

Inzwischen habe ich ein Update auf LO 4.1.1.2 gemacht und das Problem ist immer noch nicht behoben. Bin ich der einzige, den das Betrifft? Kann ich etwas ändern?
Ich nutze LibreOffice unter Kubuntu Linux.
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von F3K Total »

Hi,
wenn du dich traust, erst OpenOffice beenden und sicher sein, dass kein Prozess soffice.bin mehr läuft.
In deinem Benutzerverzeichnis gibt es eine Datei
registrymodifications.xcu
Wenn Du darin in der folgenden Zeile zwischen <value> und </value> eine 224 einträgst, klappts auch mit der Summe.

Code: Alles auswählen

<prop oor:name="LastFunctions" oor:op="fuse"><value>224</value>
Gruß R
a-zeller
*****
Beiträge: 361
Registriert: Fr, 05.11.2004 18:30

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von a-zeller »

LastFunctions - so etwas habe ich mir gedacht. :) Nur zur Sicherheit nachgefragt: das funktioniert auch bei LibreOffice unter Kubuntu-Linux?

Die Datei habe ich in ~/.libreoffice/3/user/ gefunden. Sie sieht aber etwas komisch aus, ist offenbar eine einzige Zeile. :shock: Das Original sieht so aus:

Code: Alles auswählen

oor:path="/org.openoffice.Office.Calc/Input"><prop oor:name="LastFunctions" oor:op="fuse"><value>224 6 283 72 268 227 336 228 209 221</value>
Das heisst also, ich soll " 6 283 72 268 227 336 228 209 221" löschen?
Ich nutze LibreOffice unter Kubuntu Linux.
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von clag »

Hallo F3H Total,

ahh, du bringst die Erlösung also als Zahlencode wird es abgelegt, ich habe mir nämlich nen Wolf nach Klartext gesucht :? ok damit ist das Problem gelöst

aber was mich viel mehr wundert und auch stört, ist die im Gegensatz zur sinnvollen Beschreibung der Funktion
AOO Hilfe hat geschrieben:Text oder Zahl wird automatisch ergänzt
OpenOffice Calc bietet Ihnen bei der Eingabe in eine Zelle automatisch an, eine in derselben Spalte vorhandene Eingabe zu wiederholen. Diese Funktion heißt AutoEingabe.
die mMn sinnlose tatsächliche Aktion in AOO,
was nutzt es die zuletzt benutzten Funktionen global Dokumenten übergreifend zu speichern?
in der einen Tabelle Rechne ich mit Zeit in der nächsten habe ich Text, da nutzen mir die zuletzt verwendeten Zeitfunktionen? garnichts!. :(

Daher denke ich, es wäre sinnvoller ein Makro zu nehmen welches per Hotkey "=SUMME()" in die fokussierte Zelle schreibt,
was mir aber nicht gelingen will ist das Makro so zu beenden, das der Cursor zwischen den Klammern steht und auf Eingabe eines Bezuges "wartet"
Hast du da vielleicht eine Idee?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von clag »

Hallo a-zeller,

ja genau die
a-zeller hat geschrieben:Das heisst also, ich soll " 6 283 72 268 227 336 228 209 221" löschen?
aber das wird nicht besonders lange helfen, denn wenn du das nächste Mal eine andere Funktion mit S anwendest steht die wieder vor deiner erhofften SUMME()
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
a-zeller
*****
Beiträge: 361
Registriert: Fr, 05.11.2004 18:30

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von a-zeller »

clag hat geschrieben:aber das wird nicht besonders lange helfen, denn wenn du das nächste Mal eine andere Funktion mit S anwendest steht die wieder vor deiner erhofften SUMME()
...das war früher aber anders. Das Software aber auch immer wieder verschlimmbessert wird! :(

Leider habe ich es aber nicht hinbekommen. :( Da meine Editoren (Kate, KWrite) mit den fehlenden Zeilenumbrüchen nicht klar kamen und der LOO Wirter ausfiel, habe ich die Datei mit Opera geladen und den Quelltext bearbeitet. Offenbar habe ich dabei was falsch gemacht. Es bleibt bei "=stunde". Und Opera stellt die Datei auch nur noch als eine Zeile dar, bei Firefox sieht allerdings alles gut aus, der Wert ist auch geändert.
Dateianhänge
registrymodifications.xcu.zip
enthält Original und Änderung
(42.86 KiB) 105-mal heruntergeladen
Ich nutze LibreOffice unter Kubuntu Linux.
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von F3K Total »

Sieht alles gut aus, bist du sicher, dass kein Prozess von OpenOffice mehr lief und hast du einen Neustart gemacht?
AAAH
Die Datei habe ich in ~/.libreoffice/3/user/
Unter LO 4 muß sich die aktuelle registry... in einem anderen Order befinden, vermutlich 4, schau unter Extras/Optionen ...Pfade nach
Gruß R
a-zeller
*****
Beiträge: 361
Registriert: Fr, 05.11.2004 18:30

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von a-zeller »

HEUREKA! :D Du hast mich glücklich gemacht! :D

Die 3 hatte mich auch skeptisch gemacht aber in ~/.libreoffice gab es nur dieses Verzeichnis. Nun weiss ich aber, dass LO (neuerdings) in ~/.config/libreoffice ablegt. Da gibt es dann auch 3 und 4.
~/.config/libreoffice/3
~/.libreoffice/3/
Sind diese beiden Verzeichnisse nun überflüssig, kann ich sie löschen?
Ich nutze LibreOffice unter Kubuntu Linux.
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von lorbass »

a-zeller hat geschrieben:Sind diese beiden Verzeichnisse nun überflüssig, kann ich sie löschen?
Im Prinzip: Ja.

Ich rate gerne, mit dem Löschen noch ein paar Wochen zu warten. Wenn dann alles zu deiner Zufriedenheit läuft und du sicher bist, dass du das Makro portiert hast, das du nur zwei mal im Jahr benötigst, und die Farbskala auf DVD gesichert hast, die du dir damals mühsam zusammengebastelt hast, als … na ja, du weißt schon …, wenn du also wirklich und endgültig nichts mehr aus der alten Umgebung benötigst, dann kannst du die Verzeichnisse löschen.

Gruß
lorbass
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von clag »

Hallo a-zeller,

habe mal einen hot-key für SUMME() erstellt,
der produziert sofort ein "=SUMME()" wenn man in ruft und nicht erst beim zweiten oder dritten mal ;)
Summe_hotkey.ods
(11.49 KiB) 113-mal heruntergeladen
vielleicht nutzt es dir
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von F3K Total »

Hallo zusammen,
mit dem Service

Code: Alles auswählen

"com.sun.star.sheet.FunctionDescriptions"
kann man auf die aktuell in Calc verwendeten Funktionen zugreifen.
Über den Service

Code: Alles auswählen

"com.sun.star.configuration.ConfigurationProvider"
unter Verwendung von

Code: Alles auswählen

"com.sun.star.configuration.ConfigurationAccess"
kann man erst die aktuellen LastFunctions auslesen um sie dann mit dem

Code: Alles auswählen

"com.sun.star.configuration.ConfigurationUpdateAccess"
zu ändern.
Ich habe das ganze in ein Makro mit Laufzeitdialog gepackt, da braucht man nur die wegzuklicken, die man beim nächsten Start von OpenOffice nicht mehr haben möchte.
lstF.png
lstF.png (30.91 KiB) 5354 mal betrachtet
Hier der Code mit Laufzeitdialog:

Code: Alles auswählen

Sub S_dialog_LastFunctions
    Dim objConfigProvider as Object
    Dim objRegistryKeyContent as Object
    Dim argProperty(0) as new com.sun.star.beans.PropertyValue
    dim alf (1,0) as variant
    oFunctionDescriptions = createUnoService("com.sun.star.sheet.FunctionDescriptions")
    'Initialisierung
    objConfigProvider = createUnoService("com.sun.star.configuration.ConfigurationProvider")
    argProperty(0).Name = "nodepath"
    argProperty(0).Value = "org.openoffice.Office.Calc"
    objRegistryKeyContent = objConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess" , argProperty())
    aLastFunctions = objRegistryKeyContent.Input.LastFunctions
    for i = 0 to ubound (aLastFunctions)
       redim preserve alf (1,i)
       afunction = oFunctionDescriptions.getbyiD(aLastFunctions(i))
       alf (0,i) = aLastFunctions(i)'ID
       alf (1,i) = afunction(2).value'Name
    next i
    odlgLFModel = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")

    With odlgLFModel
       .setPropertyValue("PositionX", 286)
       .setPropertyValue("PositionY", 155 )
       .setPropertyValue("FontName", Font)
       .setPropertyValue("Width", 90)
       .setPropertyValue("Height", 146)
       .setPropertyValue("Title", "aktuelle lastfunctions")
       .setPropertyValue("Name", "dlgLF")
       '.setPropertyValue("DesktopAsParent", True )
    End With
    odlgLF = CreateUnoService("com.sun.star.awt.UnoControlDialog")
    
    for i = 0 to ubound(alf,2)
    REM ********** Textlabel erzeugen
    oMod = odlgLFModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
    With oMod
      .setPropertyValue("Label", alf(1,i))
      .setPropertyValue("Name", "lbl"+i)
      .setPropertyValue("PositionX", 10)
      .setPropertyValue("PositionY", (10*i)+15)
      .setPropertyValue("Height",8)
      .setPropertyValue("Width", 50)
    End With
    odlgLFModel.insertByName("lbl"+i, oMod)
    oMod = odlgLFModel.createInstance( "com.sun.star.awt.UnoControlCheckBoxModel")
    With oMod
       .setPropertyValue("Name", "chk"+i)
       .setPropertyValue("PositionX", 65)
       .setPropertyValue("PositionY", (10*i)+15)
       .setPropertyValue("Height",8)
       .setPropertyValue("Width", 8)
       .setPropertyValue("State", 0)
    End With
    odlgLFModel.insertByName("chk"+i, oMod)
    next i
    odlgLFModel.Height = (i*10)+50
    oMod = odlgLFModel.createInstance("com.sun.star.awt.UnoControlButtonModel")
    With oMod
        .setPropertyValue("Label", "OK ausgewählte"+chr(13)+"löschen")
        .setPropertyValue("Name", "cmd1")
        .setPropertyValue("PositionX", 10)
        .setPropertyValue("PositionY", (i*10)+20)
        .setPropertyValue("Height", 20)
        .setPropertyValue("Width", 70)
        .setPropertyValue("FontHeight",9)
        .setPropertyValue("FocusOnClick",false)
        .setPropertyValue("PushButtonType",1)
    End With
    odlgLFModel.insertByName("cmd1", oMod)
    odlgLF.setModel(odlgLFModel)
    ocmd1 = odlgLF.getcontrol("cmd1")
    oWindow = CreateUnoService("com.sun.star.awt.Toolkit")
    odlgLF.createPeer(oWindow, null)
    odlgLF.execute
    REM ********** Mittels des Modells den Dialog anzeigen
    redim preserve alf (2,i-1)
    for k = 0 to i-1
        ochk = odlgLF.getcontrol("chk"+k)
        alf(2,k) = ochk.state
    next k
    objRegistryKeyContent = objConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationUpdateAccess" , argProperty())
    ncounter = 0
    for l = 0 to ubound(alf,2)
        if alf(2,l) = 0 then
             redim preserve aLastFunctions(ncounter)
             aLastFunctions(ncounter) = alf(0,l)
             ncounter = ncounter + 1
        else
        bchanged = true
        endif
    next l
    if bchanged then
    With objRegistryKeyContent
        .Input.LastFunctions = aLastFunctions
        .CommitChanges
    End With
    msgbox ("Damit die Änderung wirksam wird,"+chr(13)+"ist ein Neustart von OpenOffice/LibreOffice erforderlich.",64,"Ausgewählte ""lastFunctions"" gelöscht !")
    endif
end sub


Gruß R
a-zeller
*****
Beiträge: 361
Registriert: Fr, 05.11.2004 18:30

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von a-zeller »

Ich weiss, man soll keine Leichen fledder aber ich habe eine (dumme) Nachfrage:

Ich hatte das Problem wieder und konnte es durch Änderung von ~/.config/libreoffice/4/user/registrymodifications.xcu mit vi beheben. Gibt es einen einfacheren Weg unter KDE/Linux? Kate scheidet aus, weil die Zeilen zu lang sind, LO-Writer natürlich auch...

Oder anders gefragt: welchen Editor würdet Ihr für so etwas empfehlen?
Ich nutze LibreOffice unter Kubuntu Linux.
paljass
******
Beiträge: 792
Registriert: Do, 25.10.2012 07:25

Re: Formel-Eingabe in Zelle "=Summe()" statt "=Stunde()"

Beitrag von paljass »

Hi,
probier mal notepadqq.
Ich hab damit noch nichjt gearbeitet, ist aber ne Empfehlung aus der Linux-Welt.

Gruß
paljass
EDV ist wie U-Boot fahren - machst du ein Fenster auf, fangen die Probleme an.
Antworten