el código que uso es el siguiente:
Dim s() As String, i As Integer
On Local Error Resume Next
With CommonDialog1
'.Flags = cdlOFNAllowMultiselect
.Filter = "Todos los archivos | *.*"
.ShowOpen
Select Case Err.Number
Case 0 ' archivos seleccionados
s = Split(.FileName, " ")
For i = 1 To UBound(s)
MsgBox s(0) & s(i)
Next i
Case 32755
' selecciono cancelar
Case Else
MsgBox Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Error al abrir"
End Select
End With
On Local Error GoTo 0
si alguien sabe porque pasa esto se les agradeceria mucho me explicarán