Zum Inhalt springen

Access2000 / VBA / FileDialog


piomode1

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!??

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...