Suche nach Datei "*test*.*" und in Zelle A1 ausgeben

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

M8Trix75

Suche nach Datei "*test*.*" und in Zelle A1 ausgeben

Beitrag von M8Trix75 » Mi, 01.11.2017 18:11

Hallo,
ich möchte nach einen Dateinamen im selben Pfad wie meine Calc.ods suchen.

Bsp: suche="*Test*.*" also links und recht offen.

Und das ganze in einer wenn abfrage.

Bsp: =WENN(SUCHE=TREFFER;DATEINAME;"kein Datei")

Man sagte mir in meinem vorherigen Thread
Toxitom hat geschrieben:
Mi, 01.11.2017 15:59
mit Formeln in Calc kannst Du nicht in Deinem System "herumsuchen";)
Das geht nur mit einer entsprechenden Scriptsprache (z.B. Basic, Python), die Du als Makro einbindest.

In deinem Fall müsstest Du Dir also eine entsprechende benutzerdefinierte Funktion schreiben, die könnte das dann.

Also soetwas wie "=MeineSuche("*Test*.*")" - also ein einfacher Aufruf mit einem Parameter als Übergabe - das Ergebnis würde dann in der aktuellen Zelle (dort, wo die Formel steht)- ausgegeben.

Je nachdem, weit weit Du mit deinem Skript kommst - ein bischen weiterhelfen oder Denkanstöße geben können wir sicher. Dann bitte im Forum "Markros..." entsprechend dei Frage stellen.
Vielen DANK für Euere Hilfe
LG Claus

_________________
Moderation:
 – Link auf Vorgänger-Thread eingefügt.
 – Zur deutlicheren Trennung des Zitats vom Text [​quote][​​/quote] Tags gesetzt.
lorbass, Moderator

Stephan
********
Beiträge: 10117
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Suche nach Datei "*test*.*" und in Zelle A1 ausgeben

Beitrag von Stephan » Do, 02.11.2017 08:41

z.B. kannst Du eine benutzerdefinierte Funktion mit DIr() schreiben, beispielsweise ungefähr so

Code: Alles auswählen

Function MeineSuche(Suchbegriff As String, Verzeichnis As String) As String
sPath = ConvertToURL(Verzeichnis)
sValue = Dir$(sPath & Suchbegriff, 0)
Do
	If sValue <> "." and sValue <> ".." and sValue <> "" Then
		MeineSuche = sValue 'nur erstes Ergebnis
		Exit Function
	End If
Loop Until sValue = ""
End Function
und in der Zelle so verwenden:

=WENN(MEINESUCHE("*Test*.*";"D:\")<>"";MEINESUCHE("*Test*.*";"D:\");"kein Datei")


Gruß
Stephan

M8Trix75

Re: Suche nach Datei "*test*.*" und in Zelle A1 ausgeben

Beitrag von M8Trix75 » Fr, 03.11.2017 21:02

Guten Abend
danke für deine Hilfe
ich habe mir das Marko erstellt und die Formel in einer Zeile kopiert.
Wenn ich dann das Markro ausführe bekomme ich die Fehlermeldung:

BASIC-Syntaxfehler.
Function innerhalb einer Prozedur unzulässig.

Was mache ich Falsch?

LG Claus

Stephan
********
Beiträge: 10117
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Suche nach Datei "*test*.*" und in Zelle A1 ausgeben

Beitrag von Stephan » Fr, 03.11.2017 21:28

Wenn ich dann das Markro ausführe bekomme ich die Fehlermeldung:

BASIC-Syntaxfehler.
Function innerhalb einer Prozedur unzulässig.

Was mache ich Falsch?
Mutmaßlich genau das was in der Fehlermeldung steht. Also die Function steht zwischen einem Sub ... und einem End Sub.

Im Übrigen musst Du kein Makro ausführen sondern nur eine benutzerdefinierte Funktion per Formel aufrufen, so wie in angehängter Datei in Zelle A1.


Gruß
Stephan
Dateianhänge
Function-test.ods
(8.92 KiB) 16-mal heruntergeladen

M8Trix75

Re: Suche nach Datei "*test*.*" und in Zelle A1 ausgeben

Beitrag von M8Trix75 » Di, 07.11.2017 22:13

Danke für die Hilfe,
die Datei hat geholfen.

Kann man den Pfad weglassen?
Ich meine das er immer den Pfad nimmt in den auch die Datei liegt?

LG Claus

Benutzeravatar
lorbass
********
Beiträge: 4015
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Suche nach Datei "*test*.*" und in Zelle A1 ausgeben

Beitrag von lorbass » Mi, 08.11.2017 18:29

M8Trix75 hat geschrieben:
Di, 07.11.2017 22:13
Kann man den Pfad weglassen?
Ich meine das er immer den Pfad nimmt in den auch die Datei liegt?
Ist es nicht einfacher (und schneller), wenn du das einfach mal ausprobierst?

Gruß
lorbass

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste