Seite 1 von 1

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

Verfasst: Mi, 01.11.2017 18:11
von M8Trix75
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

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

Verfasst: Do, 02.11.2017 08:41
von Stephan
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

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

Verfasst: Fr, 03.11.2017 21:02
von M8Trix75
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

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

Verfasst: Fr, 03.11.2017 21:28
von Stephan
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

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

Verfasst: Di, 07.11.2017 22:13
von M8Trix75
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

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

Verfasst: Mi, 08.11.2017 18:29
von lorbass
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