Avatar billede basco Nybegynder
09. oktober 2003 - 09:16 Der er 5 kommentarer og
2 løsninger

Brugeren skal vælge filen

Har et lille problem vedr. VB...

Det er således at når man starter programmet så skal brugeren vælge en fil fra en bestemt mappen.

Jeg har forsøgt med GetOpenfilename funktionen og den åbner da også vinduet således at man kan se filerne, men hvordan får jeg den til at åbne den fil så man vælger ??

GetOpenFilename
.Lookin  (denne funktion er jeg ikke sikker på)
.Open (her skal de så åben den fil så man vælger...

Ja, jeg er ikke en ørn til det, men håber på lidt hjælp omkirng denne funktion
Avatar billede lokespas Nybegynder
09. oktober 2003 - 09:29 #1
Avatar billede heavybreezer Nybegynder
09. oktober 2003 - 09:30 #2
Bruger du commondialog?
Avatar billede basco Nybegynder
09. oktober 2003 - 09:35 #3
Commondialog .... ved ikke rigtig havd det er - SÅ nej.
Programmet behandler en fil.... og normalt plejer jeg at skrive hvilken fil det drejer sig om... dvs jeg bruger f.eks :

ChDir "S:\Trade\Salg\Kundelister\Indbakke"
    Workbooks.Open Filename:= _
        "S:\Trade\Salg\Kundelister\Indbakke\Kundeliste.xls"

Men i dette tilfælde skal brugeren selv kunne vælge en fil fra mappen .... og den funktion/kommando kan jeg ikke lige...
Avatar billede lokespas Nybegynder
09. oktober 2003 - 10:08 #4
du kan vælge commandialog under komponeter den hedder Microsoft Common Dialog Control sæt den på din form


Private Sub Command1_Click()
CommonDialog1.ShowOpen
Debug.Print CommonDialog1.FileName

End Sub

Private Sub Form_Load()

With CommonDialog1
    .FileName = "*.txt"
    .Filter = "Tekst Filer|*.txt"
End With


End Sub
Avatar billede joern Nybegynder
09. oktober 2003 - 13:08 #5
Hej.

En anden mulighed er at bruge FileList.

filelist.path =  "S:\Trade\Salg\Kundelister\Indbakke"
text1.text = filelist.filename

Man det med XLS tyder på det er et VBA-spørgsmål !?  og ikke VB.

M.v.h.  Jørn
Avatar billede mathiasrav Nybegynder
09. oktober 2003 - 18:08 #6
Tjaah hvis det ER vb, og ikke VBA (VB i f.eks. Excel), så er det enkelt.
Brug "Microsoft Common Dialog Control" som du finder under Project - Components... (Ctrl + T).
Lav en af disse Common Dialogs på din form, ligemeget hvor (de er usynlige i runtime). Indstil dens Filter til at være "Tekst filer (*.txt)|*.txt|Alle filer (*.*)|*.*" hvis det er tekstfiler (txt filer) du arbejder med.
Sæt dens InitDir (mappen man starter i) til at være (i dette tilfælde) "S:\Trade\Salg\Kundelister\Indbakke".
Så går du ind i den event den skal skrives i (f.eks. Form_Load eller Command1_Click) og skriv:
Dim I As Integer
Dim S As String
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As #1
Do Until EOF(1) = True
Line Input #1, S
S = S & vbCrLf
Loop

Så er hele filen lagret i Stringen S,
og skriv så koden til at loade filen f.eks.
Label1.Caption = S
Avatar billede martin_moth Mester
10. oktober 2003 - 13:56 #7
Det ER vba og ikke vb - han skriver "Workbooks.Open"
Commondialog kan ikke bruges med VBA/Excel. Så brug Joern's løsning med en filelist brugeren kan vælge fra - evt. suppleret med en DirList, så brugeren kan skifte mappe (og evt. en drivelist, så han kan skifte drev)
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
Kurser inden for grundlæggende programmering

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