Avatar billede -anders- Juniormester
25. november 2007 - 11:08 Der er 22 kommentarer og
1 løsning

Åben fildialog og finde bestemt fil

Hej eksperter

Jeg anvender eks. fra www.makeitaesy.dk til at registere filnavn i en tekstboks på en formular, funktionen anvender windows standard-fildialog. Det virker fremragende, men jeg kunne godt tænke mig at man ved klik på en anden knap kunne åbne fildialogen, og samtidig finde den fil der er angivet i tekstboksen. Jeg anvender nedenstående kode til at registere en fil i tekstboksen.

'Kode start'
Dim dlg As New CommonDialog
Dim StrFilter As String
StrFilter = dlg.AddFilterItem(StrFilter, "Tekstfiler (*.txt)", "*.txt")
StrFilter = dlg.AddFilterItem(StrFilter, "Wordfiler (*.doc)", "*.doc")
StrFilter = dlg.AddFilterItem(StrFilter, "RTF-filer (*.rtf)", "*.rtf")
StrFilter = dlg.AddFilterItem(StrFilter, "Tekstfiler (*.wri)", "*.wri")
StrFilter = dlg.AddFilterItem(StrFilter, "PDF-filer (*.pdf)", "*.pdf")
StrFilter = dlg.AddFilterItem(StrFilter, "Alle filer (*.*)", "*.*")
dlg.DialogTitle = "Indsæt link til fil"
dlg.filter = StrFilter
dlg.ShowOpen
If Len(dlg.Filename) > 0 Then
Me!Tekstfil = dlg.Filename
End If
'Kode slut'

Så i stedet for at registere filnavn skal fildialogen åbnes og gå til den fil der allerede er registeret i tekstboksen.

Nogen forslag

Hilsen Anders.
Avatar billede terry Ekspert
25. november 2007 - 16:51 #1
Hi Anders
You should be able to use

dlg.Filename = Me!Sti
Avatar billede -anders- Juniormester
26. november 2007 - 17:57 #2
Hej terry, tak for indlægget, jeg har forsøgt at bruge dlg.Filename = Me!Tekstfil i stedet for Me!Tekstfil = dlg.Filename. Dette virker dog ikke helt da filen som er angivet i tekstboksen ikke vises i fildialoglisten, men den vises dog nede i feltet filnavn i windows standardfil-dialog, og det var jo ikke meningen
Avatar billede terry Ekspert
26. november 2007 - 18:23 #3
:o) I had a feeling that would be a problem. Its because the file type needs to be selected too.
Avatar billede -anders- Juniormester
26. november 2007 - 18:29 #4
Well, tror du har ret, måske der ikke umidelbart er en løsning, da filtypen ikke er statsisk, men kan variere meget
Avatar billede terry Ekspert
26. november 2007 - 18:35 #5
why do you need to find a file if you already have the path\filename?
Avatar billede -anders- Juniormester
26. november 2007 - 18:42 #6
Fordi man på denne måde kan højreklikke på den funde fil i fildialogen, og fks. sende den som vedhæftet fil, åbne filen, kopier filen, slette filen etc. Jeg ved at de fleste ting kunne programmeres på formen, men det ville jeg prøve at undgå ved at bruge nævnte metode :o)
Avatar billede -anders- Juniormester
26. november 2007 - 18:46 #7
hmm, det må være noget med fileList i stedet, men prøver jeg at anvende dette for jeg at vide at metoden/egenskaben er skrivebeskyttet
Avatar billede terry Ekspert
26. november 2007 - 18:55 #8
if you know what file type you have then couldnt you set strfilter to that type and maybe ALL too?
Avatar billede -anders- Juniormester
26. november 2007 - 19:01 #9
Jo, sagtens, men listen i fildialogen viser ikke den fil der er angivet i min tekstboks, den viser den sidste valgte fil som er indsat i tekstboksen på en helt anden post, ideen er jo at åbne fildialogen, hvor listen kun viser den fil der er angivet i tekstboksen på den aktuelle post, det er vel i grunden noget med filsøgning i stedet, men kan ikke lige finde ud af det
Avatar billede terry Ekspert
26. november 2007 - 19:07 #10
The file open dialog isnt desigend just to show the selected file and nothing else.
Avatar billede -anders- Juniormester
26. november 2007 - 19:13 #11
Okay, det var det jeg var bange for, jeg må prøve med noget andet :o),men så ved man da det til en anden gang. Gider du poste et svar så du kan få point for din indsats
Avatar billede terry Ekspert
26. november 2007 - 19:16 #12
I'll have a look around/think to see if I can come up with something too. But I don think your going to be able to right click on the file etc. as you described.
Avatar billede -anders- Juniormester
26. november 2007 - 19:19 #13
okay, men det var et must netop at kunne benytte windows standardgenvejsmenu, jeg har prøvet nedenstående på AddFilterItem, men det fejler

StrFilter = dlg.AddFilterItem(, , Me.Tekstfil)
Avatar billede -anders- Juniormester
26. november 2007 - 19:21 #14
I virkeligheden ønsker jeg blot at kunne navigere til den fil der er angivet i tekstboksen og få filen listet i en windows fildialog, så standfunktioner ved højreklik er mulige
Avatar billede terry Ekspert
26. november 2007 - 19:32 #15
you can use the FilterIndex to set the file type so that files of that type are visible but not just one you want.

Here's another link which may be of interest but I don think it solves your actual problem.

http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dnarofftalk/html/office09072000.asp
Avatar billede -anders- Juniormester
26. november 2007 - 19:35 #16
Okay terry, jeg kikker lidt videre på det, hvis jeg finder en løsning poster jeg den her. Mange tak for indsatsen :o)

Hilsen Anders
Avatar billede terry Ekspert
26. november 2007 - 19:48 #17
selv tak anders. I'd be very interested in any solution you find.
Avatar billede -anders- Juniormester
26. november 2007 - 19:58 #18
Hej terry, tror du man kunne bruge dette ?

http://www.eksperten.dk/spm/172883
Avatar billede terry Ekspert
26. november 2007 - 20:18 #19
No I dont think so. As far as I can see it will open the file in the associated program and I diont think thats what your after is it?
Avatar billede -anders- Juniormester
26. november 2007 - 20:24 #20
Well, som jeg læser det skulle stifinder blot åbne en bestemt mappe, så var jeg tænkte om man ikke også kunne åbne undermapper og til finde selve filen, jeg har prøvet med nedenstående, men det fejler med runtime error 5, noget med invalide procudure

Dim stAppName
Dim sFilnavn As String
sFilnavn = Me.Tekstfil
stAppName = ("C:\Windows\EXPLORER.EXE: \" & sFilnavn)
Call Shell(stAppName, 1)
Avatar billede terry Ekspert
26. november 2007 - 20:29 #21
lets say it opens a specific folder, what is the difference between what you were doing and that? Its still going to show you all of the files in the folder.

Try opening Explorer and copy the contents of sFilename into the address.
Avatar billede -anders- Juniormester
26. november 2007 - 20:33 #22
Ja du har ret, det løser det ikke, er på vej til køjs, endnu engang tak for indsatsen :o)
Avatar billede terry Ekspert
26. november 2007 - 20:41 #23
I'm off there too shortly :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester