ich habe eine Userform gebastelt, in der ich über einen Button 'Durchsuchen' aus dem Windows-Explorer eine Datei auswählen kann, deren Dateipfad dann in eine Textbox auf der Userform geschrieben wird. Auf diese Datei sollen dann verschiedene Makros angewendet werden, die ich schon habe (jedoch noch nicht eingebunden habe, das spielt aber auch erstmal keine Rolle).
2 Probleme:
1. Ich würde gerne den Dateinamen inkl. Endung aus dem Pfad in der Textbox absplitten und in eine eigene Variable schreiben, damit ich diese Variable dann in den Makros angeben kann und somit immer die Datei 'bearbeitet' wird, die per Userform ausgewählt wurde. Dazu habe ich auch schon Code-Schnipsel im Internet gefunden, war nur nicht in der Lage, die gescheit so einzufügen, dass es klappt.
2. Wenn ich die Userform per Button 'Beenden' schließe, soll die Datei, deren Name in der Textbox steht, auch geschlossen werden. Wie verweise ich mit Worbooks.Close darauf? Oder ist das der falsche Ansatz?
Vielen Dank für die Hilfe!
Frank
Sub ZeigeForm()
UserForm1.Show vbModeless
End Sub
Private Sub UserForm_Initialize()
UserForm1.Left = Application.ActiveWindow.Width - UserForm1.Width
UserForm1.TextBox1.Text = "Datei über 'Durchsuchen' auswählen"
With Me.ComboBox1
.AddItem "Skript1"
.AddItem "Skript2"
.AddItem "Skript3"
.AddItem "Skript4"
.ListIndex = 0 '
End With
End Sub
Private Sub CommandButton1_Click()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Microsoft Excel-Dateien", "*.xlsx"
.Show
If .SelectedItems.Count = 1 Then
TextBox1 = .SelectedItems(1)
Cancel = True
Workbooks.Open (TextBox1)
End If
End With
End Sub
Private Sub CommandButton2_Click()
If ComboBox1 = "Skript1" Then
MsgBox "Test erfolgreich"
End If
End Sub
Private Sub CommandButton3_Click()
'ActiveWorkbook.Close funktioniert hier nicht recht, weil oftmals mehrere Excel-Dateien _
parallel geöffnet sind
Unload Me
End Sub