Ordner, Dateien auslesen Dateiendung
#11
(20.03.2024, 09:24)RPP63 schrieb: ...(der Jahrzehnte alt sein dürfte [A65536])
für einen Sammler von Röhrenradios oder Liebhaber von Rotweinen ist das Alter eher ein Qualitätsgarant. Irgendwie habe ich den Eindruck, "Jahrzehnte alt" würde hier von dir nicht positiv verwendet, kann das sein?








;)
Antworten Top
#12
Mag sein, EarlFred! Wink

Aber davon ab:
Ich bin "altem" Code ja durchaus nicht abgeneigt.
Z.B. verwende ich auch heute noch die Range.Sort-Methode, die mMn der Worksheet.Sort-Eigenschaft vorzuziehen ist.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#13
(20.03.2024, 09:59)RPP63 schrieb: Z.B. verwende ich auch heute noch die Range.Sort-Methode...
bekenne mich ebenfalls schuldig! Eine fachliche Begründung dafür kann ich nicht liefern. Grund sind einzig und alleine meine Faulheit und Bequemlichkeit.
Antworten Top
#14
Ich würde VBA bevorzügen:

Code:
Sub M_snb()
  With Application.FileDialog(4)
      If .Show Then sn = Split(CreateObject("wscript.shell").exec("cmd /c dir " & .SelectedItems(1) & "\*.txt /b/s").stdout.readall, vbCrLf)
  End With
  Cells(1).Resize(UBound(sn) + 1) = Application.Transpose(sn)
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#15
Was hat dass aber mit dem anderen Code zu tun?
Antworten Top
#16
In Range("D7") wird ein Dateiname eingegeben, der gesucht werden soll! (funktioniert)

Range("D9") ist die Dateiendung (.txt)

Wie kann ich den Code anpassen, dass er auch Dateien findet, die mit "*" & Range("D7")  & "*" gefunden werden und mit vollständigem Dateinamen angezeigt werden?

Danke

Code:
Code:
Sub Dateien(Objekt As Object)
Dim Item As Object

For Each Item In Objekt

If Range("D7") <> "" And Range("D9") <> "" Then

' UCase(Range("D8")) bedeutet Umwandlung der endung auf Großbuchstaben
If InStrRev(Range("D7") & Range("D9"), Range("D9")) > 0 Or InStrRev(Range("D7") & Range("D9"), UCase(Range("D9"))) > 0 Then

If Item.Name = Range("D7") & Range("D9") Or Item.Name = Range("D7") & UCase(Range("D9")) Then
 
    [a65536].End(xlUp).Offset(1, 0) = "=HYPERLINK(" & _
                    """" & Item.Path & """," & _
                    """" & Range("D7") & Range("D9") & """)"
                   
                    lRowCounter = lRowCounter + 1
                   
                    End If
                   
                    End If
                   
Else

If InStrRev(Item.Name, Range("D9")) > 0 Or InStrRev(Item.Name, UCase(Range("D9"))) > 0 Then
   
    [a65536].End(xlUp).Offset(1, 0) = "=HYPERLINK(" & _
                    """" & Item.Path & """," & _
                    """" & Item.Name & """)"
                   
                    lRowCounter = lRowCounter + 1
                   
End If

End If
                   
Next

End Sub
Antworten Top
#17
Moinsen,

mit dem like-Operator kannst du Zeichenketten auch mit Platzhaltern vergleichen. 

Beim Code von snb ist das schon eingebaut.
Im übrigen:
- Du solltest deinen Code ordentlich einrücken
- Die folgende Codezeile ist ziemlich sinnbefreit:
Code:
If InStrRev(Range("D7") & Range("D9"), Range("D9")) > 0 Or InStrRev(Range("D7") & Range("D9"), UCase(Range("D9"))) > 0 Then
- Mit mäßigen VBA Kenntnissen zu versuchen, die Dateisuche im Explorer nachzubauen halte ich insgesamt für gewagt.

Viele Grüße
derHöpp
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste