Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ordner öffnen

ordner öffnen
25.04.2007 01:07:02
Uwe
Hallo an alle Nachtschwärmer,
wie bekomm ich beide Codes so verbunden das nix meckert......
das hatte ich hier im Forum gefunden.......
Dim Pfad As String
Dim x As Variant
Pfad = "C:\test"
x = Shell("Explorer.exe /n,/e," & Pfad & "\", vbNormalFocus)
..........
der soll mit diesem verbunden werden......

Sub Letzte5()
Dim strFile As String, lngAnz As Long, strRec As String, strT As String
Dim ii As Integer, jj As Integer, zz As Long
strFile = "C:\test\Fz000004.st"                  ' anpassen
Close #1
Open strFile For Input As #1
Do While Not EOF(1)
Line Input #1, strRec:       lngAnz = lngAnz + 1     ' Sätze zählen
Loop
Close #1
Open strFile For Input As #1
Do While Not EOF(1)
Line Input #1, strRec                                 ' Sätze einlesen
ii = ii + 1
If ii > lngAnz - 7 Then          ' nur die letzten 5 Sätze verarbeiten
For jj = 1 To 8
strT = Right(Left(strRec, jj * 13), 3)
If Len(strT) = 3 And InStr(strT, " ") = 0 And IsNumeric(strT) Then
zz = zz + 1
Sheets("Tabelle1").Cells(zz, 1) = strT
strT = Right(Left(strRec, jj * 13 + 9), 9)
If IsNumeric(strT) Then Sheets("Tabelle1").Cells(zz, 2) = strT / 100
End If
Next jj
End If
Loop
Close #1
End Sub


....hatte ich mir so gedacht.....krieg ich aber nicht hin.....
Hintergrund ist das in diesem Ordner die Datei mit ihrer Endnummer jedesmal ändert..also diesmal Fz000004.st beim nächstenmal dann halt Fz000005.st
Hatte jetzt den Gedanken das sich erst der Ordner öffnet und man dann die richtige Datei dann öffnet.
Hoffe ich hab das einigermaßen Erklären können und danke schon mal im vorraus.
Gruß Uwe

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ordner öffnen
25.04.2007 05:52:00
fcs
Hallo Uwe,
mir ist unklar was du da verbinden willst und vor allem was der Sinn der Verbindung sein soll.
Wenn du eine Datei auswählen willst, dann baue den VBA- internen Dateiauswahldialog in deinen Code ein, z.B. als benutzerdefinierte Funktion.
gruß
Franz
Schaut dann etwa so aus:

Private Sub test()
strFile = DateiAuswahl(Pfad:="C:\Test", Filter:="ST-Dateien(*.ST),*.ST", _
Titel:="Bitte eine ST-Datei auswählen")
If strFile = "" Then
'Dateiauswahl-Dialog wurde abgebrochen
Exit Sub
End If
End Sub
Function DateiAuswahl(Pfad As String, Optional Filter As String = "alle (*.*),*.*", _
Optional Titel As String) As String
'Einzelne Datei auswählen im Dialog
Dim PfadAkt As String, DateiName
PfadAkt = VBA.CurDir 'Aktuellen Pfad merken
VBA.ChDir Pfad
DateiName = Application.GetOpenFilename(FileFilter:=Filter, Title:=Titel, MultiSelect:=False)
If DateiName = False Then 'Dialog wurde abgebrochen
VBA.ChDir PfadAkt
DateiAuswahl = ""
Else
VBA.ChDir PfadAkt
DateiAuswahl = DateiName
End If
End Function


Anzeige
AW: ordner öffnen
25.04.2007 08:56:59
Uwe
Hallo Franz,
Sorry da hab ich wohl was undeutlich ausgedrückt.
Also...den tollen Code Sub Letzte5 funktioniert ja super. Da sich aber die .ST Datei immer wieder ändert, dachte ich das man es so lösen kann....Button drücken- Ordner Test geht auf und alle .ST Dateien werden angezeigt-dann wähle ich die entsprechende aus und er liest mir entsprechend der Sub Letzte5 die erforderlichen Daten dann ein. Und jetzt hab ich keine Ahnung wie man das entsprechend umgesetzt bekommt.
Gruß Uwe

AW: ordner öffnen
25.04.2007 22:39:01
fcs
Hallo Uwe,
hier der modifizierte Code. Du startest ganz normal dein Makro "Letzte5" und dann wird als erstes der Datei-Auswahldialog angezeigt.
Gruß
Franz

Sub Letzte5()
Dim strFile As String, lngAnz As Long, strRec As String, strT As String
Dim ii As Integer, jj As Integer, zz As Long
'Function mit Dateiauswahl-Dialog starten
' Die Werte für Pfad, Filter und Titel ggf. anpassen
strFile = DateiAuswahl(Pfad:="C:\Test", Filter:="ST-Dateien(*.ST),*.ST", _
Titel:="Bitte eine ST-Datei auswählen")
If strFile = "" Then
'Dateiauswahl-Dialog wurde abgebrochen
Else
'Daten aus Datei einlesen
Close #1
Open strFile For Input As #1
Do While Not EOF(1)
Line Input #1, strRec:       lngAnz = lngAnz + 1     ' Sätze zählen
Loop
Close #1
Open strFile For Input As #1
Do While Not EOF(1)
Line Input #1, strRec                                 ' Sätze einlesen
ii = ii + 1
If ii > lngAnz - 7 Then          ' nur die letzten 5 Sätze verarbeiten
For jj = 1 To 8
strT = Right(Left(strRec, jj * 13), 3)
If Len(strT) = 3 And InStr(strT, " ") = 0 And IsNumeric(strT) Then
zz = zz + 1
Sheets("Tabelle1").Cells(zz, 1) = strT
strT = Right(Left(strRec, jj * 13 + 9), 9)
If IsNumeric(strT) Then Sheets("Tabelle1").Cells(zz, 2) = strT / 100
End If
Next jj
End If
Loop
Close #1
End If
End Sub
Function DateiAuswahl(Pfad As String, Optional Filter As String = "alle (*.*),*.*", _
Optional Titel As String) As String
'Einzelne Datei auswählen im Dialog
Dim PfadAkt As String, DateiName
PfadAkt = VBA.CurDir 'Aktuellen Pfad merken
VBA.ChDir Pfad
DateiName = Application.GetOpenFilename(FileFilter:=Filter, Title:=Titel, MultiSelect:=False)
If DateiName = False Then 'Dialog wurde abgebrochen
DateiAuswahl = ""
Else
DateiAuswahl = DateiName
End If
VBA.ChDir PfadAkt 'Pfad wieder zurücksetzen
End Function


Anzeige
AW: ordner öffnen
26.04.2007 00:26:23
Uwe
Hallo Franz,
hab das mal eingebaut. Und läuft mal wieder erstklassig!
Da kann ich nur wieder mal sagen!!!Vielen Dank!!!
Gruß Uwe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige