Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Function BestandLezen()
Dim dlgPicker As FileDialog
Dim vrtSelectedItem As Variant
Dim strFile As String
Set dlgPicker = Application.FileDialog(msoFileDialogFilePicker)
With dlgPicker
.Title = "Selecteer een bestand." 'De titel voor het venster
'**************************************************************************
'Pas dit aan voor map met afbeeldingen
'**************************************************************************
.InitialFileName = CurrentProject.Path 'Waar moet het venster beginnen?
.Filters.Clear
'Add a filter that includes GIF and JPEG images and make it the second item in the list.
With dlgPicker.Filters
.Add "Microsoft Word", "*.doc; *.docx; *.docm; *.dot; *.dotx; *.dotm", 1 'Beperk de bestandstypes tot Word bestanden
.Add "Microsoft Excel", "*.xls; *.xlsx; *.xlsm; *.xlt; *.xlsb", 2 'Beperk de bestandstypes tot Excel bestanden
.Add "Microsoft PowerPoint", "*.ppt; *.pot", i + 1 'Beperk de bestandstypes tot Powerpoint
.Add "Microsoft Access", "*.mdb; *.mde; accdb; accde", 3 'Beperk de bestandstypes tot Access databases
.Add "Adobe Reader", "*.pdf", 4 'Beperk de bestandstypes tot .pdf-jes
.Add "Afbeeldingen", "*.gif; *.jpg; *.jpeg; png", 5 'Beperk de bestandstypes tot plaatjes
.Add "Songs", "*.mp3; *.wav", 6 'Beperk de bestandstypes tot .mp3 en wav
.Add "Alles", "*.*", 7 'Geen Beperkingen op bestandstype"
End With
.FilterIndex = 1
.AllowMultiSelect = True 'Slechts ??n bestand kiezen toegestaan
.InitialView = msoFileDialogViewList 'Bepaal weergave
If .Show = -1 Then 'Bepaal of gebruiker op OK-knop heeft geklikt.
For Each vrtSelectedItem In .SelectedItems
strFile = strFile & vrtSelectedItem & ";"
''strFile = .SelectedItems.Item(1) 'String wordt gevuld met geselecteerde bestand
Next
Else
MsgBox "Er is op <Cancel> gedrukt..."
End If
End With
End Function
Een database is pas écht nuttig als je (gerelateerde) gegevens kunt opslaan en makkelijk terugvinden. In een systeem dat ik nu aan het bouwen ben, zit dus een tabel tDocumenten waarin ik m.b.v. een subformulier documenten(namen) opsla, die je dus gelijk ziet als je een hoofdrecord opent. Met een simpele klik wordt het bijbehorende document geopend. Mijn systeem laat je zoeken naar een document middels een FileDialog, slaat vervolgens dus de bestandsnaam+pad op in de tabel en kopieert het bestand naar de vaste (dossier)locatie.
Zo'n opzet lijkt mij verre te prefereren boven jouw werkwijze. Die dus met een Shell opdracht wel te doen is overigens. Of een combinatie van een FileDialog om het bestand op te zoeken, en een FollowHyperlink om het bestand te openen.
Private Sub cmdDoc_Click()
Dim sFile As String, sDoc As Variant
With Me
If IsNull(!DossierPad) And TempVars("varPersoonPad").Value & "" = "" Then
TempVars("varPersoonPad").Value = fPadMaken(Stam_Pad & "\Personen\" & TempVars("varPersoonID").Value & "\")
!DossierPad.Value = TempVars("varPersoonPad").Value
.Dirty = False
Else
TempVars("varPersoonPad").Value = !DossierPad.Value
End If
End With
sFile = BestandOpzoeken
If sFile = "Annuleren" Then Exit Sub
If Not Dir(sFile) = "" Then
If InStr(1, sFile, "\") = 0 Then Exit Sub
sDoc = Split(sFile, "\")
Me.kopie_cv = sDoc(UBound(sDoc))
On Error Resume Next
FileCopy sFile, TempVars("varPersoonPad").Value & "\" & sDoc(UBound(sDoc))
Me.Repaint
End If
End Sub
Private Sub cmdCV_Leeg_Click()
If MsgBox("Wil je het bestand '" & LCase(Me.kopie_cv) & "' ook verwijderen van de harde schijf?", vbYesNo) = vbYes Then
On Error GoTo Hell
Kill Me.DossierPad & Me.kopie_cv
End If
Me.kopie_cv = Null
Hell:
End Sub
Private Sub kopie_cv_DblClick(Cancel As Integer)
On Error GoTo Hell
If Me.kopie_cv & "" = "" Then
cmdCV_Click
Else
Application.FollowHyperlink Me.DossierPad & Me.kopie_cv
End If
Exit Sub
Hell:
If MsgBox("Het bestand '" & LCase(Me.kopie_cv) & "' ontbreekt in de dossiermap; wil je het verwijderen uit de lijst?", vbYesNo) = vbYes Then
Me.kopie_cv = Null
End If
End Sub
Public Function fPadMaken(sFolder As String) As String
On Error GoTo ErrorHandler
Dim sF As String
sF = GetPathOnly(sFolder)
If Dir(sF, vbDirectory) = "" Then
sF = fPadMaken(sF)
MkDir sF
End If
fPadMaken = sFolder
Exit Function
ErrorHandler:
Exit Function
End Function
Public Function GetPathOnly(sPath As String) As String
GetPathOnly = Left(sPath, InStrRev(sPath, "\", Len(sPath)) - 1)
End Function
Function BestandOpzoeken(Optional Pad As String) As String
Dim dlgPicker As FileDialog
Dim sType() As String, sFile As String
Dim tmp As String, sPad As String
Dim bCheck As Boolean
Dim vrtSelectedItem As Variant
On Error GoTo Hell
If Pad = "" Then sPad = CurrentProject.Path Else: sPad = Pad
If Right(sPad, 1) <> "\" Then sPad = sPad & "\"
Set dlgPicker = Application.FileDialog(msoFileDialogFilePicker)
With dlgPicker
.Title = "Selecteer een bestand." 'De titel voor het venster
.InitialFileName = sPad 'Waar moet het venster beginnen?
With .Filters
.Clear
.Add "Alles", "*.*", 1 'Geen Beperkingen op bestandstype"
.Add "Microsoft Word", "*.doc; *.docx; *.docm", 2 'Beperk de bestandstypes tot .doc
.Add "Microsoft Excel", "*.xls; *.xlsx; *.xlsm", 3 'Beperk de bestandstypes tot .xls
.Add "Adobe Reader", "*.pdf", 4 'Beperk de bestandstypes tot .pdf"
.Add "Afbeeldingen", "*.jpg; *.jpeg; *.png", 5 'Beperk de bestandstypes tot afbeeldingen
End With
.FilterIndex = 1
.AllowMultiSelect = False 'Slechts één bestand kiezen toegestaan
.InitialView = msoFileDialogViewList 'Bepaal weergave
If .Show = -1 Then 'Bepaal of gebruiker op OK-knop heeft geklikt.
sFile = .SelectedItems(1) 'String wordt gevuld met geselecteerde bestand
Else
MsgBox "Er is op <Annuleren> gedrukt..."
BestandOpzoeken = "Annuleren"
GoTo Hell
End If
End With
BestandOpzoeken = sFile
Hell:
Set dlgPicker = Nothing
End Function
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.