Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
456to460
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
456to460
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe!!! Dateinamen ins ComboBox eintragen

Hilfe!!! Dateinamen ins ComboBox eintragen
23.07.2004 09:59:32
Sergej
Hallo zusammen,
ich brauche Hilfe:
ich versuche ein Combobox beim Starten einer EXE-Datei mit den Namen der Excel-Dateien zu füllen. bis jetzt habe ich in einem Buch vom Seelhofer zwei Beispiele gefunden und beide ausprobiert - bringt nix!!! Die Suche im Forum und Archiv war erfolgslos.
Darum die Fragen:
1. was kann ich anstellen, damit es funktioniert? und
2. wie geht das, durch anklicken eines Namens soll entsprechende Datei gestartet wird (Code wenn's möglich)?
Hier sind Beispiele (leicht geändert):
A)
Sub AllFilesList()
Dim datei As String
datei = Dir("CurDir\*.xls")
Do While datei ""
Combo1.AddItem datei
Loop
End Sub
B)
Sub AllFilesList()
Dim datei As String
datei = Dir("")
Do While datei ""
If datei like "*.xls" Then
Combo1.AddItem datei 'im Buch hier steht Debug.Print datei (zur Info)
End If
datei = Dir() 'wozu ist das gut habe ich nicht verstanden
Loop
End Sub
Das Ganze rufe ich in

Private Sub Form_Initialize()
AllFilesList
End Sub

auf.
Dann habe ich den Such-Code direkt ins _Initialize (natürlich ohne Sub AllFilesList) eingetragen - auch ohne Erfolg. Ich hoffe, ich habe das Problem ausreichend beschrieben. Wenn nich - just let me know...
Für jede Hilfe bin sehr dankbar.
Gruß Sergej

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe!!! Dateinamen ins ComboBox eintragen
23.07.2004 10:14:45
ANdreas
Hallo Sergej,
versuch es mit diesem Code:

Private Sub UserForm_Initialize()
Const Pfad = "C:\Temp\" 'den "\" am Ende nicht vergessen
Dim fs As FileSearch, i%
Set fs = Application.FileSearch
With fs
.FileType = msoFileTypeExcelWorkbooks
.LookIn = Pfad
.Execute
For i = 1 To .FoundFiles.Count
ComboBox1.AddItem Replace(.FoundFiles(i), Pfad, "")
Next i
End With
End Sub

Achte darauf, dass Du auf den richtigen Namen der Combobox verweist beim Einlesen!
Hoffe das hilft weiter,
Andreas
AW: Hilfe!!! Dateinamen ins ComboBox eintragen
23.07.2004 10:43:50
Sergej
to Andreas
danke für die schnelle Antwort.
Ich habe dein Vorschlag ausprobiert. Leider bekomme ich eine Fehlermeldung "Fehler beim Kompilieren. Benutzerdefinierter Typ nicht definiert".
Also, es muß noch etwas geben...
Wie sieht es mit meiner zweite Frage (aus Combo die Datei Starten/Laden etc.)?
Gruß Sergej
Anzeige
AW: Hilfe!!! Dateinamen ins ComboBox eintragen
23.07.2004 11:02:47
ANdreas
Hallo Sergej,
in welcher Zeile tritt denn der Fehler auf?
Hier mal der erweiterte Code, über den Klick auf einen CammandButton, wird eine ausgewählte Datei geöffnet:

Private Function getPath() As String
getPath = "C:\Temp\"
End Function


Private Sub CommandButton1_Click()
With ComboBox1
If .ListIndex >= 0 Then Workbooks.Open getPath & .Value
End With
End Sub


Private Sub UserForm_Initialize()
Dim fs As FileSearch, i%
Set fs = Application.FileSearch
With fs
.FileType = msoFileTypeExcelWorkbooks
.LookIn = getPath
.Execute
For i = 1 To .FoundFiles.Count
ComboBox1.AddItem Replace(.FoundFiles(i), getPath, "", , , vbTextCompare)
Next i
End With
Application.DisplayFormulaBar = False
End Sub

Gruß
Andreas
Anzeige
AW: ups
23.07.2004 11:04:00
ANdreas
Hallo Sergej,
die letzte Zeile
Application.DisplayFormulaBar = False
natürlich rausnehmen, hatte an etwas anderem nebenbei getestet :-)
Andreas
AW: ups
Herbert
Hallo!
FileSearch ist in der
Microsoft Excel 10.0 Object Library
nicht enthalten. Vielleicht hat Sergej die
Microsoft Office 10.0 Object Library
nicht eingebunden?
(Findet man unter Extras - Verweise)
Nur so ne Idee.
Herbert
AW: ups
Sergej
Hallo Herbert,
ich glaube, ich habe vergessen zu erwennen, dass dieses Suchen in VB-Standart_EXE-Form gestartet soll. Ich weiss nicht, ob das grossen Unterschied ausmacht. In meinem Verständniss FileSearch muß in Windows vorhanden sein. Oder?
Gruß Sergej
Anzeige
AW: ups
Sergej
Hallo Alle,
ich habe gerade Hilfe-Datei von VisualBasic6.0 durchgesucht und angeblich dasgleiche zu VBA Prinzip soll auch da funkionieren.
Hier ist Hilfe-Beispiel (kann leicht angepasst werden)
With Application.FileSearch
.FileName = "New*.*"
.LookIn = "C:\My Documents"
.Execute
For I = 1 To .FoundFiles.Count
MsgBox .FoundFiles(I) 'hier könnte mann Combo.AddItem schreiben
Next
End With
Nur dumme daran ist, dass es wird ein komp.Fehler gezeigt (Variable nicht definiert) und "Application" markiert. Ich rafe nicht welche Variable muss deklariert werden?
Gruß Sergej
Anzeige
AW: ups
23.07.2004 13:51:12
ANdreas
Hallo Sergej,
hast Du Dir überhaupt den Link angeschaut?
Da wird das ganz genau dargestellt, wie Du mit dem FileSystemObject arbeitest...
Gruß
Andreas
AW: ups
Sergej
Hallo Andreas,
Sorry, bis jetzt hatte ich keine Zeit den Link anzuschauen. Ich werde aber später das mal ausprobieren, was da drin steht.
Vielen Dank für deine Hilfe.
Gruß Sergej
AW: ups
Sergej
Hi Andreas,
die Fehlermeldung markiert "fs As FileSearch" Bereich
Sergej
P.S. ich habe im Buch noch eine Variante fürs Suchen gefunden, die leider auch nicht funkioniert (dieses Mal markiert es "Application" nach dem With und sagt "Variable nicht definiert. Wenn ich die Variable nach deinem Beispiel definiere "Dim el As Application.FileSearch" bekomme ich auch die gleiche für dein Vorschlag Fehlermeldung)

Sub FileSearchTest()
Dim el
With Application.FileSearch
.FileName = "*.xls"
.LookIn = "CurDir"
.SearchSubFolders = True
.Execute msoSortByFileName
For Each el In .FoundFiles
ComboBox1.AddItem el
Next
End With
End Sub

(ich werde immer mehr von diesem Buch enttäuscht...)
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige