Hola, contesto al revés.
Para sacar por separado la ruta y el archivo:
Dim sRuta As String, sArchivo As String
sRuta = Left(CommonDialog1.FileName, InStrRev(CommonDialog1.FileName, "\", , vbTextCompare))
sArchivo = CommonDialog1.FileTitle
Para comprobar si el archivo existe en la carpeta, podrías crear una función como esta:
Código:
Private Function BuscaArchivo(sRuta As String, sArchivo As String) As Boolean
Dim s As String
s = Dir(sRuta & "\*.*")
Do While s <> ""
If s = sArchivo Then
BuscaArchivo = True
Exit Do
End If
s = Dir
Loop
End Function
y para llamarla:
If BuscaArchivo(sRuta, sArchivo) = True Then
MsgBox "El archivo ya existe, ¿Sobreescribirlo?"
' ....
End If