Wörter aus Tabellenzelle aussortieren / herausfiltern.

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Stephanie
***
Beiträge: 67
Registriert: So, 13.01.2008 21:30

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Stephanie »

Hallo,

ja, offenbar ist das nich die Fehlerursache. Ich bin gerade im Administrator Konto, habe da auch noch mal den Basic Makro gespeichert und dann die Formel eingegeben und hatte wieder die gleiche Fehlermeldung.

Nächste Idee: Ich habe OO nicht komplett, sondern nur benutzerdefiniert installiert.

Und zwar
OpenOffice.org
OpenOffice.calc
OpenOffice.writer

Also z. B. math und noch diverse andere Komponenten, die man auswählen konnte, nicht.

Ist dieser loader evtl. ein Teil, das ich nicht installiert habe?

Stephanie
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Karolus »

Hallo
Nächste Idee: Ich habe OO nicht komplett, sondern nur benutzerdefiniert installiert.

Und zwar
OpenOffice.org
OpenOffice.calc
OpenOffice.writer
Gut möglich, daß da was fehlt - schau doch einfach mal nach ob: "C\Programme\Open Office org\program\basis\program\phytonloader uno dll" existiert? Falls nicht → Komplettinstallation.

Gruß Karo
( ich arbeite hier unter Linux mit den Feinheiten einer OOo-installation unter Windows kenne ich mich auch nicht aus )
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Stephanie
***
Beiträge: 67
Registriert: So, 13.01.2008 21:30

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Stephanie »

Hallo,

ja, ich habe pythonloader in der Suche gefunden
C:\Dokumente und Einstellungen\OpenOffice\openofficeorg1.cab
pythonloader.uno.dll Programmbibliothek 21 kb
pythonloader.py py Datei 7 kb
pythonloader.uno Konfigurationseinstellungen 1 kb

Irgendwas umkonfigurieren muss man da ja hoffentlich nicht?

Nachtrag: gegoogelt nach
openoffice pythonloader
http://www.google.de/search?q=openoffic ... =firefox-a

und über 10.000 Ergebnisse gefunden, überwiegend von Leuten die sich über pythonloader Probleme beschweren. Ich bin also nicht die einzige. Leider ist das meistens auf englisch. Während mein englisch für normale Zwecke wohl reicht, wird es bei Computer englisch schwierig, da habe ich schon auf deutsch Verständnisschwierigkeiten. Wenn mir also noch jemand auf Deutsch sagen könnte wie ich in OOo 3.2.1 mit Win XP SP3 meinen pythonloader zum Laufen kriege?

Stephanie
Stephanie
***
Beiträge: 67
Registriert: So, 13.01.2008 21:30

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Stephanie »

Hallo,
Gast hat geschrieben:OpenOffice3/Basis/program/pythonloader.uno.dll
oh :shock: , da scheint das doch doch zu fehlen?

C:\Programme\OpenOffice.org 3\Basis\program

habe ich 4 Ordner
addin
classes
plugin
resource

und Einzelteile
config...
fundament...
gengal
mailmerge...
nsplugin
odb...
offapi...
oovba...
senddoc
services...
stclient...
uno
version



Das war's.

Also kein pythonloader zu sehen.

Wie installiere ich den nach in Win XP SP3? Hoffentlich geht das einzeln ohne alles zu deinstallieren und OOo komplett zu installieren?

Nachtrag:
Ich glaube ich sollte vielleicht für meine python Installationsprobleme einen neuen Thread in diesem Forum unter installation aufmachen und hierher zurückkommen, wenn ich wieder ohne Störmeldungen in Calc arbeiten kann.

Nachtrag 2
Ich habe jetzt hier viewtopic.php?f=3&t=47873 einen neuen Thread aufgemacht zur Pythonloader Installation und kehre in diesen Thread hier zurück, sobald das erfolgreich installiert ist. Dann klappt die schöne Formel von Karolus hoffentlich endlich :) .

Nachtrag 3 - Freitag
Ich habe jetzt OO.o deinstalliert und Version 3.3 komplett neu installiert. pytonloader.uno.dll ist jetzt gelistet unter C:\Programme\OpenOffice.org 3\Basis\program

Das Ausprobieren der Matrix, die jetzt ja eingentlich funktionieren sollte, verschiebe ich auf später.

Stephanie
Stephanie
***
Beiträge: 67
Registriert: So, 13.01.2008 21:30

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Stephanie »

Hilfe,

ich habe schon wieder eine Fehlermeldung!

Ichh habe OO.o 3.3 komplett installiert.

pytonloader.uno.dll ist jetzt gelistet unter C:\Programme\OpenOffice.org 3\Basis\program

Ich habe unter Makros den Code 1 gespeichert.

Hier
C:\Dokumente und Einstellungen\Stephanie\Anwendungsdaten\OpenOffice.org\3\user\Scripts

habe ich sheetfunctions PY Datei 4 kb. Und habe noch mal nachgelesen, das ist wirklich der richtige Code 2.

Gebe ich jetzt im Funktionssasstistenten die Formel ein
MTRANS(FINDALL(MULTIKETTE(A1:A10000);"(schwarz|weiß|(?:hell )?grün)"))
(gleicht steht schon im Funktionsassistenten drin)
erhalte ich eine neue Fehlermeldung.

Die alte Fehlermeldung war
"BASIC Laufzeitfehler. Es ist eine Exception aufgetreten. Type com.sun.star.script.provider.ScriptFrameworkErrorException Message: loading component library failed file C Programme Open Office org program basis program phytonloader uno dll "


Die neue Fehlermeldung ist:
BASIC Laufzeitfehler. Es ist eine Exception aufgetreten. Type com.sun.star.script.provider.ScriptFrameworkErrorException Message: <class 'pythonscript.com.sun.star.ucb.InteractiveAugmentedIOException'>: an error occured during file opening
C:\Programme\OpenOffice.org3\Basis\program\pythonscript.py:374 in function
get Module by url last Read = selft sfa getDateTimeModified url
C:\Programme\OpenOffice.org3\Basis\program\pythonscript.py:898 in function get script mod=self.provCtx.getModuleByUrl(fileUri)

ein paar Satzzeichen an der Fehlermeldung habe ich ausgelassen.

Dabei ist die Zeile im Makro markiert oScript = oMSP.getScript(sURL)

Mir ist gerade bei der Betrachtung aufgefallen, dass das hier ein anderer Pfad ist zum Pythonscript, nicht über die Anwendungsdaten. Ich gehe jetzt erst mal nachsehen, was ich unter diesem anderen Pfad stehen habe.

Nachtrag:
Nachgesehen - und -
unter
C:\Programme\OpenOffice.org 3\Basis\program

habe ich kein Pythonscript gespeichert.

Es scheint also, dass ich beim Anleitungsschritt
"dein OOobenutzerverzeichnis"
das Pythonscript an eine falsche Stelle gespeichert habe.
Obwohl unter http://www.ooowiki.de/BenutzerVerzeichnis Wo liegt das Benutzerverzeichnis? Unter Windows® XP liegt es unterhalb von C:\Dokumente und Einstellungen\[Benutzername]\Anwendungsdaten\ genau stand, dass das Benutzerverzeichnis in den Anwendungsdaten läge.

Ich kopiere jetzt also meinen Pythonscript Ordner einfach rein in C:\Programme\OpenOffice.org 3\Basis\program :?:

Stephanie
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Karolus »

Hallo
Ich kopiere jetzt also meinen Pythonscript Ordner einfach rein in C:\Programme\OpenOffice.org 3\Basis\program ?
Nein, auf keinen Fall.
Die neue Fehlermeldung ist:
BASIC Laufzeitfehler. Es ist eine Exception aufgetreten. Type com.sun.star.script.provider.ScriptFrameworkErrorException Message: <class 'pythonscript.com.sun.star.ucb.InteractiveAugmentedIOException'>: an error occured during file opening
C:\Programme\OpenOffice.org3\Basis\program\pythonscript.py:374 in function
get Module by url last Read = selft sfa getDateTimeModified url
C:\Programme\OpenOffice.org3\Basis\program\pythonscript.py:898 in function get script mod=self.provCtx.getModuleByUrl(fileUri)
Die Fehlermeldung hatte ich auch als ich das unter Windows testete, → OOo komplett schließen → ( im Zweifelsfalle Windows neu starten ) → Neu starten → Ausprobieren → Berichten

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Stephanie
***
Beiträge: 67
Registriert: So, 13.01.2008 21:30

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Stephanie »

Hallo,
Karolus hat geschrieben:
Ich kopiere jetzt also meinen Pythonscript Ordner einfach rein in C:\Programme\OpenOffice.org 3\Basis\program ?
Nein, auf keinen Fall.
Das kam gerade noch rechtzeitig, ich war schon drauf und dran das zu machen.

Ich habe jetzt PC ausgeschaltet und neu gestartet und es noch mal probiert und habe weiterhin exakt die gleiche Fehlermeldung.

Stephanie
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von F3K Total »

Hallo Stephanie,
habe ein kleines BASIC-Makro geschrieben, was deinen Wünschen entsprechen sollte, siehe Anhang.
Gruß R
Stephanie
***
Beiträge: 67
Registriert: So, 13.01.2008 21:30

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Stephanie »

Hallo,

ich habe gerade draufgeklickt und auf öffnen und bekomme die Meldung

"Dieses Dokument enthält Makros
Makros können Viren enthalten
Die Ausführung von Makros wird aufgrund der aktuellen Sicherheitseinstellung in Extras Optionen OO.o Sicherheit unterbunden.

Manche Funktionen stehen daher möglicherweise nicht zur Verfügung."


Ich habe die Makrosicherheit jetzt mal gerade von hoch auf mittel runtergestuft, ich kann das ja später wieder umstellen.

Ich nehme an dieser Makroblocker wirkt nur bei heruntergeladenen Makros und nicht bei Makros, die ich selber geschrieben bzw. selber aus diesem Forum in Calc hereinkopiert habe?

Nachtrag: nachdem ich die Sicherheitsstufe auf mittel herabgesetzt habe, habe ich das Dokument noch mal heruntergeladen und geöffnet und "Makros ausführen" ja geklickt.

Soweit sehe ich nur den Ausgangstext und kein Ergebnis.

In der Spalte C sehe ich ein graues Feld
finde schwarz,weiß,grün,hell grün

Wo sollte denn das Ergebnis stehen?

Welche Formel / was für ein Code wurde verwendet? Ich kenne mich leider mit Makros so schlecht aus, dass ich gar nicht weiß wo ich danach suchen soll, was da verwendet wurde.

Stephanie
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von F3K Total »

Hallo Stephanie, drücke mal ALT+F11 dann kommt dieses Fenster:
basicmakros.png
Wenn Du jetzt "Bearbeiten" drückst, siehst Du den Basic-Code . Hier kannst Du ihn auch verändern.
Wenn ich auf den Button "finde "schwarz..." drücke wird das Makro ausgeführt und ich habe folgendes Ergebnis:
find_String.png
d.h: in Zeile 2 ist der Text "grün" enthalten, in Zeile 9 "schwarz","grün" und "hell grün" u.s.w., war es nicht das was Du wolltest?

Gruß R

Nachtrag: Um Makros ausführen zu können muß man dies zulassen, auch wenn es eigene sind.

Nachtrag2:
Solltest Du beim Drücken des Buttons "finde "schwarz..." kein Ergebnis bekommen, kann es daran liegen, dass Du im Entwurfsmodus für Formulare bist:
Ansicht/Symbolleisten/Formularentwurf-> Haken setzen.
Wenn die Symbolleiste so aussieht:
F1.png
bist Du im Entwurfmodus, bitte einmal auf das "Geodreieck/Lineal" klicken, dann wird ein Großteil der Leiste gedimmt, und du bist nicht mehr im Entwurfsmodus.
Jetzt funktioniert der Button "finde "schwarz..." auch und Du solltest Dein Ergebnis bekommen.
Stephanie
***
Beiträge: 67
Registriert: So, 13.01.2008 21:30

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Stephanie »

Hallo,
F3K Total hat geschrieben:Wenn ich auf den Button "finde "schwarz..." drücke wird das Makro ausgeführt und ich habe folgendes Ergebnis:
find_String.png
d.h: in Zeile 2 ist der Text "grün" enthalten, in Zeile 9 "schwarz","grün" und "hell grün" u.s.w., war es nicht das was Du wolltest?
ach so, mir war nicht klar, dass das ein Button ist. Ich weiß jetzt gar nicht mehr ob ich da draufklicken konnte oder nicht? Ich glaube aber nicht. Ich hatte das Dokument nur geöffnet, nicht auf meinem PC gespeichert und einige Funktionen waren in dem "Lese"-Modus anscheinend nicht verfügbar.

Ich probiere es dann gleich noch mal.

Danke für die ausführliche Bebilderung.

Nachtrag:

ich habe es jetzt noch mal in der nur geöffnet versus der gespeichert und geöffneten Version probiert, in der nur geöffneten ungespeicherten Version funktioniert der Button nicht, in der gespeicherten Version schon.

Selbstverständliches Wissen könnt ihr bei mir leider nicht unbedingt voraussetzen, ich kenne nur die Funktionen die ich regelmäßig benötige und benutze :wink: .

Dann suche ich jetzt mal den Code.

Nachtrag2

Code gefunden und kopiert, dann lasse ich den jetzt mal auf alle 4000 Zellen meiner Testspalte los.

Ich hoffe das geht jetzt wieder über
Extras Makros Makros verwalten OO.o Basic neu und Code da reinkopieren.

Nachtrag 3

Also an diesem Code

Code: Alles auswählen

REM  *****  BASIC  *****

Sub Find_String

dim suchstring(4) as String
suchstring(1)= "schwarz"
suchstring(2)= "weiß"
suchstring(3)= "grün"
suchstring(4)= "hell grün"

osheet=thiscomponent.sheets.getbyname("Tabelle1")'hier den Namen der Tabelle einsetzen
for i = 1 to 1000 'hintere Zahl (1000) gibt maximale Zeilenzahl an innerhalb derer gesucht werden soll
ocell=osheet.getcellbyposition(0,i)
if ocell.Type = com.sun.star.table.CellContentType.EMPTY then exit for 
 for j=1 to 4
    if Instr(1,ocell.string,suchstring(j),0)>0 then
        k=1
       back:
       onewcell=osheet.getcellbyposition(k,i)
       if onewcell.Type = com.sun.star.table.CellContentType.EMPTY then
       onewcell.string=suchstring(j)
       else
       k=k+1
       goto back
       endif
    endif
 next j
next i

End Sub
ändere ich jetzt
for i = 1 to 1000 'hintere Zahl (1000)

um in
for i = 1 to 5000 'hintere Zahl (5000)
damit alle Zeilen abgesucht werden richtig?

Stephanie
Zuletzt geändert von Stephanie am Sa, 09.04.2011 16:50, insgesamt 1-mal geändert.
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von F3K Total »

Hast Du den Code auch gelesen? Er geht unverändert nur bis Zeile 1000!
Da wo die "1000" steht, mußt Du dann eine größere Zahl eingeben. Speichern nicht vergesssen.

Gruß R
Nachtrag1:
Genau!
Nachtrag2:
Wenn Du möchtest, dass grün unter grün, weiß unter weiß usw. steht, nimm diesen Code:

Code: Alles auswählen

Sub Find_String

dim suchstring(4) as String
suchstring(1)= "schwarz"
suchstring(2)= "weiß"
suchstring(3)= "grün"
suchstring(4)= "hell grün"

osheet=thiscomponent.sheets.getbyname("Tabelle1")'hier den Namen der Tabelle einsetzen
for i = 1 to 1000 'hintere Zahl (1000) gibt maximale Zeilenzahl an innerhalb derer gesucht werden soll
ocell=osheet.getcellbyposition(0,i)
if ocell.Type = com.sun.star.table.CellContentType.EMPTY then exit for 
 for j=1 to 4
    if Instr(1,ocell.string,suchstring(j),0)>0 then
       onewcell=osheet.getcellbyposition(j,i)
       onewcell.string=suchstring(j)
    endif
 next j
next i

End Sub
Gruß R
Zuletzt geändert von F3K Total am Sa, 09.04.2011 16:59, insgesamt 1-mal geändert.
Stephanie
***
Beiträge: 67
Registriert: So, 13.01.2008 21:30

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Stephanie »

Hallo,

das mit dem umbenennen der 1000 ist uns gerade beiden gleichzeitig eingefallen, das habe ich gemacht.

Und dann

Extras Makros Makros verwalten OO.o Basic - meine Makros - Standard - neu und Code da reinkopieren.

und auf speichern geklickt.

Ich glaube ich hätte vorher unter Makroname oder sonst irgendwo das Teil benennen sollen.

Nachdem ich auf speichern geklickt habe ist nichts passiert. Und ich muss jetzt mal suchen gehen, wo das unbenannte Teil wohl gelandet ist und ob es irgendwie automatisch benannt wurde?

Nachtrag:
Ach ja, Alt F11 gedrückt. Anscheinend hat der Makro automatisch den Namen der Tabelle abgekriegt. Da sitzt der Makro nun. Wie krieg ich ihn dazu etwas zu machen?

Sorry, wie schon gesagt sind dies meine ersten Ausflüge in die Makrowelt, ihr könnt bei mir hier keine Vorkenntnisse erwarten.

Stephanie
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von F3K Total »

Wenn Du ALT+F11 drückst, gibt es neben dem Namen der Tabelle ein "+" Zeichen zum öffnen des Baumes ... da auf Standard/Module1/Find_String". "Find_String" einfach markieren und rechts oben auf "Ausführen". Oder im "Formular-Entwurftmodus" einen Button erzeugen, dann im Kontextmenue des Buttons unter "Kontrollfeld" den Reiter Ereignisse anklicken und mit den drei kleinen Punkten rechts dem Ereignis "Aktion bestätigen" eben dieses Makro "Find string" zuordnen. Kontrollfeldfenster schließen, Entwurfsmodus verlassen, Datei speichern, fertig. Jetzt läuft das Makro bei Knopfdruck.

Gruß R
Zuletzt geändert von F3K Total am Sa, 09.04.2011 17:10, insgesamt 1-mal geändert.
Stephanie
***
Beiträge: 67
Registriert: So, 13.01.2008 21:30

Re: Wörter aus Tabellenzelle aussortieren / herausfiltern.

Beitrag von Stephanie »

Hallo,

beim weiteren Umherklicken und probieren habe ich festgestellt, dass die Tabellennamen doch nur in OpenOffice.org Base Makros in der Spalte "Makros aus" waren und nicht in "vorhandene Makros in:"

Unter "vorhandene Makros in:" habe ich nur "find string" habe auf "ausführen" geklickt und jippie, ich habe Ergebnisse in Spalte B und C! :-D Alle Farben säuberlich gelistet! Super!

Stephanie
Antworten