Microsoft Excel

Herbers Excel/VBA-Archiv

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

Dateinamen der ausgelesenen Datei anzeigen

Betrifft: Dateinamen der ausgelesenen Datei anzeigen von: Botti
Geschrieben am: 05.08.2008 13:47:03

Hallo,

heute wende ich mich mal wieder an Euch, weil ich bei einem Problem nicht wirklich weiterkomme und auch keinen rechten Ansatz finde, wie ich das Problem angehen soll.

Folgende Problemstellung:
Ich habe ein Macro gebaut, dass andere Dateien, die im selben Verzeichnis liegen und alle mit der Buchstabenfolge "WEA" im Dateinamen beginnen ausliest. Das Makro arbeitet den Ordner von oben nach unten durch.

(1) Jetzt brauche ich ein Makro, welches mir den vollen Dateinamen (oder auch Pfad) der gerade ausgelesenen .xls Datei angibt. Also vorne stehen dann die ausgelesenen Werte aus der Datei und dahinter z.B. in Spalte X, Zeile 5 steht der Dateiname der ausgelesenen Datei!

(2) Damit der User aber nicht nur die Werte und die dazugehörige ausgelesene Datei sehen kann, sondern auch erkennen kann "wann" die Datei ausgelesen wurde muss in der Spalte Y, Zeile 5 dann noch das Datum (Systemdatum....) stehen.
Da sich der Ordner immer wieder verändert, also Dateien hinzukommen, darf das Datum aber nur das Datum des "Auslesetages" sein und sich nicht dem aktuellen Datum anpassen, also nicht =heute() sein!

Kann mir da jemand von Euch helfen? Danke für Eure stets schnelle Hilfe im Voraus!

Euer,

Botti

  

Betrifft: AW: Dateinamen der ausgelesenen Datei anzeigen von: Worti
Geschrieben am: 05.08.2008 14:08:00

Hallo Botti,
wie sieht dein bisheriger Code den aus? Poste ihn doch mal.

Gruß Worti


  

Betrifft: AW: Dateinamen der ausgelesenen Datei anzeigen von: Botti
Geschrieben am: 05.08.2008 15:27:17

Hier der Code:

Sub sub_ReadFiles()
 Dim fs, f, f1, fc, strErr, oExcel, oSheet
 Dim r As String
 Dim iCounter As Integer
  
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(func_SetPath())
    Set fc = f.Files
    
    On Error GoTo fehler

'    Set oExcel = New Excel.Application
'    Set oExcel = CreateObject("Excel.Application")
    iCounter = 0
    
    For Each f1 In fc
      If Left(f1.Name, 3) = "WEA" Then
        
        Set oExcel = CreateObject("Excel.Application")
      
        
'        On Error GoTo fehler_A
        
        strErr = "Can't open file " & f1
        oExcel.Workbooks.Open f1
 
'        On Error GoTo fehler
        
        strErr = "Can't find worksheet 'NEG Micon - WW'"
        Set oSheet = oExcel.Sheets("NEG Micon - WW")
    
        strErr = "Can't write value to target sheet"

        ' specify source and target cells here
        ' source cell in A1 format
        ' target cell in R1C1 format
        ' usage: sub_WriteValue(oSheet.Range(source cell), target sheet, target column, target  _
row)
 
        Call sub_WriteValue(oSheet.Range("M2"), "Reiter1", 1, 2 + iCounter)
        Call sub_WriteValue(oSheet.Range("M3"), "Reiter1", 2, 2 + iCounter)
        Call sub_WriteValue(oSheet.Range("Q3"), "Reiter1", 3, 2 + iCounter)
        Call sub_WriteValue(oSheet.Range("M4"), "Reiter1", 4, 2 + iCounter)
        Call sub_WriteValue(oSheet.Range("M5"), "Reiter1", 5, 2 + iCounter)
        Call sub_WriteValue(oSheet.Range("AG2"), "Reiter1", 6, 2 + iCounter)
        Call sub_WriteValue(oSheet.Range("AG3"), "Reiter1", 7, 2 + iCounter)
      
       
        Set oSheet = Nothing
        
        strErr = "Unknown error"
        
        oExcel.Workbooks.Close
 
marke_A:
      
      iCounter = iCounter + 55
      
      End If

      
    
    Next
    oExcel.Quit
    
    If iCounter = 0 Then
      MsgBox "No input files found"
    End If
    
    Exit Sub


fehler:
    On Error Resume Next

    MsgBox (strErr & vbCrLf & vbCrLf & "error number: " & Err.Number _
            & vbCrLf & Err.Description & "source: " & Err.Source)
    Exit Sub
    
fehler_A:
         On Error Resume Next

         MsgBox (strErr & vbCrLf & vbCrLf & "error number: " & Err.Number _
                 & vbCrLf & Err.Description & "source: " & Err.Source)
         GoTo marke_A
End Sub



______________
Nochmal kurz zur Info:
Es geht darum, dass er mir den Dateinamen der Datei ausgibt, die er gerade ausliest und dass in der Spalte AC. Also wenn er eine Datei, die mit "WEA" beginnt ausliest soll er mir den vollständigen Dateiamen in die Zelle AC2 schreiben! Ist das möglich?

Gruß,

Botti


  

Betrifft: AW: Dateinamen der ausgelesenen Datei anzeigen von: Worti
Geschrieben am: 06.08.2008 08:30:09

Hallo Botti,
wo ist dein Problem, du hast doch f1.Name, da steht doch der Name drin. Oder versteh ich grad was nicht richtig?

Gruß Worti


 

Beiträge aus den Excel-Beispielen zum Thema "Dateinamen der ausgelesenen Datei anzeigen"