vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Danke für die Korrektur ;) 
Autor: Rainer
Datum: 24.02.22 18:56

Hallo Souffleurlos,
die von Dir empfohlene Application-Eigenschaft DIALOGS ist doch ziemlich aufwendig zu verwenden. Ich habe mich denn doch für die Application-Eigenschaft FILEDIALOG entschieden. Vorallem, weil ich die gesuchte Datei nicht unmmittelbar aus dem Dialog heraus öffnen wollte. Mit FILEDIALOG geht es sehr schön.
Ich habe mir dazu eine kleine Funktion geschrieben, die ich anderen Interessierten zur Nachnutzung bereitstellen möchte:

   Const fsoTotal = 0
   Const fsoFile = 1
   Const fsoExtension = 2
   Const fsoBase = 3
   Const fsoFolder = 4
 
Public Enum FsoReturnTyp
   fsoTotalName = fsoTotal
   fsoFileName = fsoFile
   fsoExtensionName = fsoExtension
   fsoBaseName = fsoBase
   fsoParentFolderName = fsoFolder
End Enum
 
Public Function DateiDialog(ByVal Titel As String, _
                            Optional ByVal DialogTyp As MsoFileDialogType = _
                            msoFileDialogFilePicker, _
                            Optional ByVal ViewTyp As MsoFileDialogView = _
                            msoFileDialogViewDetails, _
                            Optional ByVal MultiAusw As Boolean = False, _
                            Optional ByVal FilterList As String = "alle Dateien" & _
                            "(*.*),*.*", _
                            Optional ByVal InitPfad As String = "C:\", _
                            Optional ByVal ReturnTyp As FsoReturnTyp = _
                            fsoTotalName, _
                            Optional ByVal Delimiter As String = ";") As String
 
   Dim oFileDialog            As FileDialog
   Dim oFso                   As Object
   Dim vFilter                As Variant
   Dim nI                     As Integer
   Dim vItem                  As Variant
 
   Set oFileDialog = Application.FileDialog(DialogTyp)
   DateiDialog = ""
   With oFileDialog
      .Title = Titel
      .ButtonName = "Ok"
      .AllowMultiSelect = MultiAusw
      .Filters.Clear
      If DialogTyp = msoFileDialogFilePicker Then
         vFilter = Split(FilterList, ",")
         If (UBound(vFilter) + 1) Mod 2 > 0 Then
            DateiDialog = "" 
            Exit Function
         End If
         For nI = 0 To UBound(vFilter) Step 2
            .Filters.Add vFilter(nI), vFilter(nI + 1)             
         Next nI
         .FilterIndex = 1
      ElseIf DialogTyp = msoFileDialogFolderPicker And _
             Right(InitPfad, 1) = "\" Then
         InitPfad = Left(InitPfad, Len(InitPfad) - 1)
      ElseIf DialogTyp = msoFileDialogOpen Or _
             DialogTyp = msoFileDialogSaveAs Then
         MsgBox "Das Öffnen und Speichern von Dateien ist" & vbCrLf & _
                "in dieser Funktion nicht implementiert!", _
                vbInformation, _
                "Bedienhinweis" 
         Exit Function
      End If
      .InitialView = ViewTyp
 
      If .Show = True Then
         Set oFso = CreateObject("Scripting.FileSystemObject")
         For Each vItem In .SelectedItems
            Select Case ReturnTyp
               Case Is = fsoTotalName
                  DateiDialog = DateiDialog & Delimiter & vItem
               Case Is = fsoFileName
                  DateiDialog = DateiDialog & Delimiter & oFso.GetFileName( _
                    vItem)
               Case Is = fsoExtensionName
                  DateiDialog = DateiDialog & Delimiter & oFso.GetExtensionName( _
                    vItem)
               Case Is = fsoBaseName
                  DateiDialog = DateiDialog & Delimiter & oFso.GetBaseName( _
                    vItem)
               Case Is = fsoParentFolderName
                  DateiDialog = DateiDialog & Delimiter & _
                    oFso.GetParentFolderName(vItem) & "\"
            End Select
         Next vItem
         DateiDialog = Mid(DateiDialog, 2)
      End If
   End With
   Set oFileDialog = Nothing
 
End Function
Ich mußte leider alle meine Kommentare entfernen, um im Meldungslimit zu bleiben.
Gruß, Rainer.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Commondialog-Objekt unter VBA in Office 2019587Rainer23.02.22 16:17
Re: Commondialog-Objekt unter VBA in Office 2019276Souffleurlos24.02.22 09:58
Re: Commondialog-Objekt unter VBA in Office 2019294Rainer24.02.22 12:22
Danke für die Korrektur ;)265Souffleurlos24.02.22 12:58
Re: Danke für die Korrektur ;)237Rainer24.02.22 18:56

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel