Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

dateinamen einlesen

Betrifft: dateinamen einlesen von: david
Geschrieben am: 31.08.2004 11:33:22

Hi Leute!

Wie kann ich diejenigen dateinamen aus c:\temp einlesen, die die Endung ".use" besitzen?

Vielen Dank im Voraus!
mfg david

  


Betrifft: AW: dateinamen einlesen von: y
Geschrieben am: 31.08.2004 12:18:52

hi David,
so in etwa:

Sub AnzDateien()
Dim A As String
anz = 0
A = Dir("C:\temp\*.use", 7)
    Do
        anz = anz + 1
        Sheets(1).Cells(anz, 1) = A
        A = Dir
    Loop Until A = ""
MsgBox "Es sind " & anz & " Dateien in diesem Ordner!"
End Sub


cu MIcha


  


Betrifft: AW: dateinamen einlesen von: david
Geschrieben am: 31.08.2004 12:38:22

Hi!
Vielen Dank! Eine Frage noch, wie kann ich verhindern das er das .use nicht anzeigt?

MFG David


  


Betrifft: AW: dateinamen einlesen von: y
Geschrieben am: 31.08.2004 12:42:53

hi David,

Sheets(1).Cells(anz, 1) = Left(A, Len(A) - 4)

cu Micha


  


Betrifft: DANKE!!!(o.T) von: david
Geschrieben am: 31.08.2004 13:05:34

-


  


Betrifft: AW: dateinamen einlesen von: kdosi
Geschrieben am: 31.08.2004 13:01:10

Hallo David, hier eine Funtktion, die etwas in der Art macht. Ein Beispiel, wie man die Funktion rufen kann siehst Du in der Sub test :
gesucht = DateienMitEndung(pfad, endung)
Die Variant Variable "gesucht" bekommt von der Function entweder ein Array, welche die Namen der Dateien enthaelt, oder Null (falls keine Dateien mit der gesuchten Endung an der Pfad vorhanden sind). Was die Funktion zurueck gegeben hat testet man mit der Funktion VarType. Die Funktion ruft man also mit dem "pfad" und "endung", die sagen, wo und was gesucht werden soll. Hat es Dir geholfen? Ich hoffe ja :-) Gruss kdosi, CZ.



Option Explicit
Option Base 1

Public Sub test()
    Dim endung, pfad, gesucht
    
    endung = ".tmp"
    pfad = "C:\Temp"
    gesucht = DateienMitEndung(pfad, endung)
    If (VBA.VarType(gesucht) <> vbNull) Then
    
        Dim temp, str
        str = ""
        For Each temp In gesucht
            str = str & temp & vbCrLf
        Next temp
        
    End If
    
    If (VBA.Len(str) > 0) Then MsgBox str Else MsgBox "Keine Dateien mit Endung " & endung & " .", vbInformation, pfad
    
End Sub

Private Function DateienMitEndung(ByVal i_strFolderName As String, _
                                  ByVal i_strEndung As StringAs Variant
    Dim arrDateienMitEndung() As Variant
    Dim objFileSystem As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim intFilesCount As Integer
    
    On Error GoTo Err_In_DateienMitEndung
    
    DateienMitEndung = Null
    
    Set objFileSystem = VBA.CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFileSystem.getfolder(i_strFolderName)
    
    intFilesCount = 0
    For Each objFile In objFolder.Files
        If (VBA.Right(objFile.Name, VBA.Len(i_strEndung)) = i_strEndung) Then
            intFilesCount = intFilesCount + 1
            ReDim Preserve arrDateienMitEndung(intFilesCount)
            arrDateienMitEndung(intFilesCount) = objFile
        End If
    Next objFile
    
    If (intFilesCount > 0) Then DateienMitEndung = arrDateienMitEndung
    
    Set objFolder = Nothing
    Set objFileSystem = Nothing
    
Err_In_DateienMitEndung:
    
End Function

     Code eingefügt mit Syntaxhighlighter 2.5



 

Beiträge aus den Excel-Beispielen zum Thema "dateinamen einlesen"