FileDialog

Aprovechando una pregunta en el foro de JoaoM sobre un problema con GetOpenFileName, y basándome en el ejemplo que aparece en la ayuda de Excel sobre FileDialog, he preparado este otro ejemplo, donde se añaden filtros a un cuadro de diálogo para pedir al usuario que elija un archivo del sistema,

He añadido algunos comentarios para que quede más claro, aunque estas cosas nunca son lo suficientemente claras.
Espero comentarios y opiniones al respecto. 

Sub Probando_FileDialog()
    'declaramos la variable de objeto FileDialog
    Dim fd As FileDialog
    'Creamos el objeto como un "filepicker", para localizar un archivo
    Set fd = Application.FileDialog(msoFileDialogFilePicker) 'creamos el objeto (aún no se ve), FilePicker para elegir un archivo. 
                 ' para elegir una carpeta tambien tenemos FolderPicker
    Dim RutaArchivo As Variant    ' para guardar los nombres de los archivos elegidos
    With fd
        .Title = "necesitomas.com"  'título del cuadro de diálogo
        .AllowMultiSelect = True    'permitimos seleción múltiple
        .InitialView = msoFileDialogViewDetails ' modo en que se verán los archivos
        
        .Filters.Clear ' limpiamos los filtros que pudieramos tener de antes
        
        .Filters.Add "Libros Excel", "*.xls;*.xlsx;*.xlsm;*.xla;*.xlam", 1
        .Filters.Add "Libro Excel 97_03", "*.xls", 2
        .Filters.Add "Libro Excel 07_10", "*.xlsx", 3
        .Filters.Add "Libro Excel con macros", "*.xlsm", 4
        .Filters.Add "Complementos Excel 97_03", "*.xla", 5
        .Filters.Add "Documento de Word", "*.doc*", 6
        .Filters.Add "Presentación Powerpoint", "*.ppt*;*.pps*", 7
        .Filters.Add "Open document", "*.odc", 8
        .Filters.Add "Planos y dibujos", "*.dwg;*.dxf", 9
        .Filters.Add "Texto separado por comas", "*.csv", 10
        .Filters.Add "Archivo de texto genérico", "*.txt", 11
        .Filters.Add "Registro de actividad", "*.log", 12
        .Filters.Add "Todos los archivos", "*.*", 13
        
        .FilterIndex = 6 'establezco el filtro por defecto
        'Se utiliza Show para mostrar el cuadro de diálogo.
        'devuelve -1 cuando el usuario pulsa el botón
        If .Show = -1 Then
            'Recorremos la colección de archivos seleccionados
            For Each RutaArchivo In .SelectedItems
                'aquí lo que quieras hacer con esta ruta
                MsgBox "archivo elegido: " & RutaArchivo
            Next
        Else
        'El usuario canceló el formulario.
            MsgBox "Acción cancelada por el usuario"
        End If
    End With
    ' elminamos el objeto antes de terminar
    Set fd = Nothing
End Sub

Me llama la atención la manera de abrir el cuadro de diálogo y a la vez poder conocer si el usuario cancela la operación, mediante la comparación del método .show con -1, que es lo que devuelve como resultado cuando todo está correcto.