AW: Ändern von Eigenschaften einer TextBox in einer la
27.01.2008 16:34:11
Eigenschaften
Hallo Horst,
anbei der relevante Code (die Variablen sind global deklariert!):
......
'Textbox "Verzeichnis"
Private Sub txt_verz01_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Inhalt der Textbox in Variable sichern
str_verz01 = txt_verz01
'Kombinationsfeld löschen
cbo_datei01.Clear
cbo_datei01.Text = ""
cbo_datei01.Value = ""
'System-Fehlerbearbeitung unterdrücken
On Error GoTo fehler
'Dateien im Arbeitsverzeichnis auslesen und in Kombinationsfeld eintragen
ChDir txt_verz01
With Application.FileSearch
.NewSearch
.LookIn = txt_verz01
.SearchSubFolders = False
.FileType = msoFileTypeExcelWorkbooks
.Execute (msoSortByFileName)
For i = 1 To .FoundFiles.Count
cbo_datei01.AddItem .FoundFiles(i)
If i = 1 Then
cbo_datei01 = .FoundFiles(1)
str_datei01 = cbo_datei01
End If
Next i
End With
'System-Fehlerbearbeitung wieder zulassen
On Error GoTo 0
'TextBox-Eintrag als Text-Eigenschaft sichern
txt_verz01.Text = str_verz01Exit Sub
'Fehlermeldung
fehler:
MsgBox "Verzeichnis konnte nicht gefunden werden!"
'System-Fehlerbearbeitung wieder zulassen
On Error GoTo 0
'Fokus zurück an Textfeld geben
txt_verz01.SetFocus
End Sub
.....
Sinn ist:
In eine TextBox wird ein Datenpfad eingegeben, der wie eine Default-Einstellung bis zur nächsten Änderung gelten soll.
Mit diesem Pfad werden dann die Dateien aus dem Verzeichnis als Items in eine ComboBox eingetragen und angezeigt.
Hier kann dann eine Excel-Arbeitsmappe ausgewählt werden. Daraus werden dann Inhalte von Zellen in die aktuelle Arbeitsmappe eingelesen.
Das funktioniert auch prima, wenn ich die Steuerelemente direkt auf dem Tabellenblatt einbette. Aber nicht innerhalb einer laufenden UserForm!!
Gruß Roland