Ciao Andy
zeig mal den Code den du ja bereits hast.
Man muss das Rad ja nicht neu erfinden.
Gruss Rainer
With Application.FileSearch
.NewSearch
.LookIn = "D:\Andy\"
.SearchSubFolders = False
.Filename = DateiName & "*.dat"
End With
Workbooks.OpenText Filename:=DateiName, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, Tab:=False, Semicolon:=True, Comma:=False, _
Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
Call Makro xy
In dem Absatz Workbooks.Opentext.. ist mit DateiName der Datfile gemeint, aber es funktioniert nicht und ich weiß nicht warum?
P.S. Ich mache meine ersten Gehversuche in Sachen Programmierung
du hast zwei grundsätzliche Fehler drin:
Du definierst die Variable "DateiName", diese wird aber nie gefüllt sondern als Suchkriterium verwendet und anschliessend auch noch zum öffnen.
Die Variable "Dateiname" enthält "", also nichts.
Normalerweise muss sowas am Anfang gemacht werden:
Dateiname = "Mein Name.dat"
Mit der FileSearch-Methode erhältst du leider nichts, weil die nicht ausgeführt wird, und wie willst du auf das Ergebnis reagieren.
Hier einmal ein Beispiel wie es für deine Anwendung gebraucht werden könnte:
Code eingefügt mit Syntaxhighlighter 1.16
Sub Auto_Open()
Dim wb As Workbook
Dim DateiName As String
'----
'Dieses Segment ist nicht nötig, weil die PERSONL.XLS
'immer ausgeblendet und deaktiviert gestartet wird.
'Sollte Sie das nicht tun, einmal mit Fenster - Ausblenden
'und anschliessend EXCEL beenden. Beim nächsten Start ist
'sie ausgeblendet
'
'For Each wb In Workbooks
'If wb.Name = "personl.xls" Then
'wb.Deactivate
'End If
'Next wb
DateiName = "Deine_Datei.dat"
With Application.FileSearch
.LookIn = "D:\Andy"
.SearchSubFolders = False
.Filename = DateiName
'------
'Hier musst die Execute-Anweisung starten
'Sonst wird die FileSearch-Methode gar nicht
'ausgeführt
If .Execute() > 0 Then
Msgbox "Datei Gefunden"
'Was du nun machen willst ist deine Sache,
'normalerweise kommt hier die Workbook.Open
'Anweisung hin
Workbooks.OpenText Filename:=DateiName, Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, Tab:=False, Semicolon:=True, Comma:=False, _
Space:=False, Other:=False, FieldInfo:=Array(1, 1), _TrailingMinusNumbers:=True
Else
MsgBox "Datei wurde nicht gefunden
Exit Sub
End If
End Sub
Gruss Rainer
End If
End With