Bestand openen vanuit Keuzelijst

Status
Niet open voor verdere reacties.

devine78

Gebruiker
Lid geworden
21 dec 2009
Berichten
13
Ik ben bezig om een soort sjablonenmenu te maken wat gekoppeld is met Word. Hierin wil ik gebruik maken van Keuzelijsten die verwijzen naar verschillende mappen (directory).

De code die verwijst naar verschillende mappen heb ik (zie hieronder)

Code:
Private Sub UserForm_Initialize()
Call GetFiles("C:\VBA\ICT\", Me.ListBox1)
Call GetFiles("C:\Personeel\", Me.ListBox2)
End Sub

Code:
Sub GetFiles(fPath As String, MyCtrl As Control)
    Dim fileList() As String
    Dim fName As String
    Dim I As Integer
     
     'build a list of the files
    fName = Dir(fPath & "*.dot")
    While fName <> ""
         'add fName to the list
        I = I + 1
        ReDim Preserve fileList(1 To I)
        fileList(I) = fName
         'get next filename
        fName = Dir()
    Wend
     'see if any files were found
    If I = 0 Then
        MsgBox "No files found"
        Exit Sub
    Else
         'Assign Array to Listbox control
        MyCtrl.List = fileList()
    End If
End Sub

Alleen nu heb ik een probleem om het document te openen.

Ik wil dat ze dan op het document klikken wat in de keuzelijst staat en dan via commandbutton een opdracht geeft om het document te openen als een nieuw document. (zie attachment als voorbeeld wat ik bedoel)

userform.JPG

Ik hoop dat iemand mij hiermee verder kan helpen.

Alvast bedankt.
 
Je kunt een macro opnemen terwijl je zelf een nieuw bestand aanmaakt op basis van een sjabloon. Die code kun je dan als uitgangspunt gebruiken voor de code van de Commandbutton. Voor mij heeft dit vaak goed gewerkt, of me op de goede weg geholpen.
 
Je moet nog wel het pad aanpassen
Code:
Private Sub CommandButton1_Click()
    Dim strFileandPath As String
    strFileandPath = "D:\Mijn Documenten\Helpmij\" & ListBox1
    Workbooks.Open strFileandPath
End Sub
 
Je kunt het openen door het volgende toe te voegen in VBA:

Private Sub CommandButton1_Click()
Me.Hide
If ListBox1.ListIndex > -1 Then
Documents.Add Template:="C:\VBA\ICT\" & ListBox1
End If
unload me
end sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan