Ich bin erst Anfänger von VB und würde gerne wissen wie ich 1 Ordner mit Textdateien per BrowseForFolder anlegen kann.
Zu dem Projekt:
Ich habe eine Userform die bei der ersten Aktivierung das (?)Ordnerwahlfenster(?) Aktivieren soll, wo der User dann den Speicherort des neuen Ordners mit den Text-Dateien bestimmen kann.
danach kann das öffnen des Fensters ja wegfallen.
Danach muss die Userform dann ja auch wissen wo die neu angelegten datein zu finden sind.
Weiß einer ein TuT der sowas beschreibt?
Hier schonmal mein derzeitiger Code.
Code:
Sub ordnerauswahl()
'öffnet Fenster mit ordnerauswahl'
Dim BrowseDir As Object
Set BrowseDir = CreateObject("Shell.Application").BrowseForFolder(0, "Ordner auswählen", &H0, 17)
If Not BrowseDir Is Nothing Then
MsgBox BrowseDir.self.Path
End If
Set BrowseDir = Nothing
End Sub
Sub AutoOpen()
'Aktiviert die UserforForm automatisch bei Programmstart'
ActiveWindow.Visible = False
UserForm1.Show
End Sub
Private Sub UserForm_Activate()
'Kopiert den Textinhalt aus einer Textdatei in eine Textbox'
FNr = FreeFile
Open "c:\Documents\test1.txt" _
For Input As #FNr
Do While Not EOF(FNr)
Line Input #FNr, zw
'optional: überprüfen ob Zeile übernommen werden soll
'If ZeileUebernehmen Then
UserForm1.TextBox1.SelText = zw & vbCrLf
'End If
Loop
Close #FNr
'den letzten CarriageReturn/LineFeed entfernen
If Len(UserForm1.c1) > 0 Then
UserForm1.TextBox1.SelStart = Len(UserForm1.TextBox1.Text) - 2
UserForm1.TextBox1.SelLength = 2
UserForm1.TextBox1.SelText = ""
End If
FNr = FreeFile
Open "c:\Documents\test2.txt" _
For Input As #FNr
Do While Not EOF(FNr)
Line Input #FNr, zw
'optional: überprüfen ob Zeile übernommen werden soll
'If ZeileUebernehmen Then
UserForm1.TextBox2.SelText = zw & vbCrLf
'End If
Loop
Close #FNr
'den letzten CarriageReturn/LineFeed entfernen
If Len(UserForm1.c1) > 0 Then
UserForm1.TextBox2.SelStart = Len(UserForm1.TextBox2.Text) - 2
UserForm1.TextBox2.SelLength = 2
UserForm1.TextBox2.SelText = ""
End If
End Sub
Private Sub CommandButton1_Click()
'Speichert den eingegebenen Text von der Textbox in eine Textdatei'
Dim F As Integer
F = FreeFile
Open "c:\Documents\test1.txt" _
For Output As #F
Print #F, zw; UserForm1.TextBox1.Text;
Close #F
F = FreeFile
Open "c:\Documents\test2.txt" _
For Output As #F
Print #F, zw; UserForm1.TextBox2.Text;
Close #F
End Sub
Kann mir bitte jemand bei der Änderung helfen (gibt es wege den Code bei mehren
gleichen abläufen die sich wiederholen zu kürzen) oder weiß jemand ein gescheites TuT wo es erklärt wird?