Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi, Leute!

Im Access-Codebook (ADDISON-WESLEY) ist folgende Funktion zu finden, die das Dialogfenster "Datei öffnen" aufruft und Laufwerk, Pfad und Dateinamen inkl. Dateiendung zurückliefert.

Zumindest unter Access 2002.

Wer hat eine Lösung für Access 2000? Dort ist die Eigenschaft/Methode <Application.FileDialog> nicht bekannt.

Die MSO.DLL ist als Verweis eingebunden, allerdings hier die 9.0 (Für Access 2000 ist es die 10.0.). Hat es Sinn die 10er-MSO.DLL unter einem neuen Namen auf Platte zu kopieren und dann über [Durchsuchen...] einzubinden?

'* FF18.1 **************************************************

'Application: Access 2002

'Description: Ordner oder Dateien auswählen

'Parameters: lngDialogType, [lngDialogView], [strTitle], [strInitial], [bolAllowMultiple], [strFilterDesc], [strFilterExt]

'API-Calls:

'References: Office Object Library (MSO.DLL)

'Functions:

'Classes:

'Types:

'Enums:

'Constants:

'Return: String

'* FF18.1 **************************************************

Public Function GetFileOrFolder( _

ByVal lngDialogType As MsoFileDialogType, _

Optional ByVal lngDialogView As MsoFileDialogView, _

Optional ByVal strTitle As String, _

Optional ByVal strInitial As String, _

Optional ByVal bolAllowMultiple As Boolean, _

Optional ByVal strFilterDesc As String, _

Optional ByVal strFilterExt As String) As String

Dim objFD As FileDialog

Dim i As Integer

On Error Resume Next

' Unterstützt werden nur

' msoFileDialogOpen, msoFileDialogFilePicker und

' msoFileDialogFolderPicker

Set objFD = Application.FileDialog(lngDialogType)

Application.d

' Setzen der Dateifilter

objFD.Filters.Clear

If strFilterDesc <> "" And strFilterExt <> "" Then

objFD.Filters.Add strFilterDesc, strFilterExt

End If

' Setzen von Multi-Select

objFD.AllowMultiSelect = bolAllowMultiple

' Setzen der Caption

If strTitle > "" Then

objFD.Title = strTitle

End If

' Setzen des Start-Directories

If strInitial > "" Then

objFD.InitialFileName = strInitial

End If

Call objFD.Show

' Rückgabe einer Semikolon getrennten Liste

' der Dateinamen

If objFD.SelectedItems.Count > 0 Then

For i = 1 To objFD.SelectedItems.Count

GetFileOrFolder = GetFileOrFolder & _

Nz(CStr(objFD.SelectedItems(i)), "") & ";"

Next i

GetFileOrFolder = Left(GetFileOrFolder, _

Len(GetFileOrFolder) - 1)

End If

Set objFD = Nothing

End Function

Geschrieben

Hi, Goos!

Vielen Dank: Es war genau das, was fehlte.

Ich habe die API-Funktion zwar nicht in allen Punkten verstanden aber zumindest in denen, die ich brauchte.

Was ich nicht verstehen kann: Warum wurde erst in der sechsten(?) Access-Version etwas einfach zur Verfügung gestellt, das es seit der ersten Version gibt!??

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...