PDA

Vollständige Version anzeigen : dateianhang im formular


jhaustein1
22.01.2008, 08:49
hallo gemeinschaft

wie mache ich es, dass ich in einem formular ein kombofeld habe, in dem ich auf meiner festplatte eine datei auswähle und durch doppelklick sie auch öffnen kann

ebs17
22.01.2008, 10:15
(1) In der Datenherkunft des Kombifeldes müssen die Festplattendateien bereits vorhanden sein (in Tabelle abgespeichert).
(2) Application.FollowHyperlink bei Doppelklick

jhaustein1
22.01.2008, 10:22
ist schwierig, da immer neue dateien dazukommen - wäre besser, wenn ich auf das dateisystem des explorers zugreifen könnte

ebs17
22.01.2008, 10:38
Das hatte ich erwartet, aber das Kombifeld war Deine Idee.

Du kannst Dir mit einem Dateiauswahldialog (mit geeignetem Zielverzeichnis) den Dateinamen holen und somit die Datei öffnen. Beispiele gibt es im Code-Archiv.

lalo
22.01.2008, 11:06
Hallo,

um die Dateien eines bestimmten Verzeichnisses als Auswahl in einer Combobox zu haben kanns Du z.B. so vorgehen

Dim FSO As FileSystemObject
Dim ....
directoryname="c:\test\"
Set fso = CreateObject("Scripting.FileSystemObject")
set mainfolder=fso.GetFolder(directoryname)
Set filecollection = mainfolder.Files
For Each file In filecollection
DeineCombobox.Rowsource = Deinecombobox.rowsource & file.Name & ";"
Next
Verweis auf MS Scripting Runtime, Herkunftstyp imn der Combobox ist Werteliste.

Stiftleander
22.01.2008, 11:25
Hallo,
warum nimmst Du nicht den im MsComDialog vorhanden Standarddialog um eine Datei zu öffnen/speichern. Dort kannst Du auch einen Suchordner vorgeben.

Falls Du nicht das ActiveX nehmen willst, gibt es genügend Beispiele zu finden wie dieser Dialog auch über API bewerkstelligt werden kann.

Gruß
Stiftlaender

jhaustein1
22.01.2008, 13:10
hi bernd

habe dein script genommen und bei formular öffnen eingefügt

bekomme beim debuggen fehler bei rowsource - methode oder daenobjekt nicht definiert
Dim FSO As FileSystemObject
Dim ....
directoryname="c:\test\"
Set fso = CreateObject("Scripting.FileSystemObject")
set mainfolder=fso.GetFolder(directoryname)
Set filecollection = mainfolder.Files
For Each file In filecollection
DeineCombobox.Rowsource = Deinecombobox.rowsource & file.Name & ";"
Next

lalo
22.01.2008, 13:22
Hi,
ich mach Dir ein funktionierendes Beispiel und stells hier rein, aber erst heute abend.

CptChaos
22.01.2008, 13:36
Gibt es denn das Feld DeineCombobox auf dem Formular?
Hat dieses Feld Wertliste als Herkunftstyp eingestellt?

jhaustein1
22.01.2008, 14:53
das feld gibt es - wo stell ich das mit der wertliste ein

CptChaos
22.01.2008, 15:20
In den Eigenschaften des Feldes

lalo
22.01.2008, 17:49
Hallo,

hier funktioniert es, nur was Du mit der Datei machen willst ... ich gebe hier einfach eine MsgBox aus.