Hej! <code> Detta ger ju bara följden att filen måste finnas! Har inte testat, men något sånt här skulle kunna funka: Svårare än så här var det inte Ja Niklas jag bara snyggade till ditt svar och testade, det funkade,du är duktig. Tack för Era svar, men - problemet kvarstår: om användaren skriver '*.*' i filename-rutan och trycker enter, visas ju alla filer. Sen är det bara att välja någon och trycka öppna. Då kan du ju göra en helt egen CommonDialog till exempel.CommonDialog val endast enligt Filter
Jag har en commondialog-kontroll som jag använder till att öppna befintliga filer. Har satt kontrollens filter index till "L*.REP".
Nu till problemet, väljer man (i commondialog-kontrollens dialog fönster) filnamnet *.*, visas alla filer och användare kan då välja vilken fil som helst.
Går det att endast visa filer enligt valt filter (L*.REP)?
Mvh
MiZSv: CommonDialog val endast enligt Filter
Dim PathToRep As String
'bör stå i Form General så du kommer åt den i hela ditt program
On Error GoTo OpenError
CmDialog.Filter = "L|*.rep"
CmDialog.InitDir = App.Path
CmDialog.DefaultExt = "*.rep"
CmDialog.DialogTitle = " Öppna L filer..."
CmDialog.Flags = &H1000
CmDialog.FileName = ""
CmDialog.ShowOpen
PathToRep = CmDialog.FileName
OpenError:
'Användaren tryckte Avbryt
End Sub
</code>Sv: CommonDialog val endast enligt Filter
Jag vill att användaren inte skall se t.ex filen M123.rep utan bara enligt filtret L*.REP, även om man anger *.*!
/MiZSv: CommonDialog val endast enligt Filter
CmDialog.Filter = "L-rapporter (L*.rep)|L*.rep"
Texten före pipen är beskrivning, texten efter det faktiska filtret.
Annars får du nog göra en speciallösning, eller bara sätta en kontroll efteråt.Sv: CommonDialog val endast enligt Filter
<code>
Dim PathToRep As String
'bör stå i Form General så du kommer åt den i hela ditt program
On Error GoTo OpenError
CmDialog.Filter = "L...rep|L*.rep"
CmDialog.InitDir = App.Path
CmDialog.DefaultExt = "*.rep"
CmDialog.DialogTitle = " Öppna L....rep filer..."
CmDialog.Flags = &H1000
CmDialog.FileName = ""
CmDialog.ShowOpen
PathToRep = CmDialog.FileName
OpenError:
'Användaren tryckte Avbryt
End Sub
</code>Sv: CommonDialog val endast enligt Filter
Sv: CommonDialog val endast enligt Filter
Sv: CommonDialog val endast enligt Filter
Fast en bättre lösning är kanske att du kontrollerar så att den valda filen följer ditt önskade mönster och helt enkelt visa ett felmeddelande om så inte är fallet så får användaren välja om.
/Egget