H o l a:
Disculpa, pero sigo sin entender.
Vamos por partes.
1. Quieres que te muestre el cuadro de diálogo tipo explorador de windows para que selecciones un archivo.
2. Seleccionas el archivo.
3. ¿Quieres copiarlo a la carpeta de escritorio con un nuevo nombre?
4. ¿Va a tomar el nuevo nombre del combobox1?
Lo que pasa es que me confundes. No es lo mismo renombrar que copiar.
Sería más fácil si pones toda la explicación acompañada de ejemplos, imágenes y datos específicos, de esa forma sería más práctico realizar la macro.
Prueba con la siguiente:
Private Sub CommandButton1_Click()
'Por.Dante Amor
If ComboBox1 = "" Then
MsgBox "Escribe un nombre en el combo"
Exit Sub
End If
'
escritorio = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Selecciona archivo"
.Filters.Clear
.Filters.Add "Todos los archivos", "*.*"
.AllowMultiSelect = False
.InitialFileName = ThisWorkbook.Path & "\"
'.Show
If .Show Then
arch = .SelectedItems.Item(1)
dia = InStrRev(arch, "\")
rut = Left(arch, dia)
nom = Mid(arch, dia + 1)
pun = InStrRev(nom, ".")
ext = Mid(nom, pun)
'no2 = Left(nom, pun - 1)
FileCopy arch, escritorio & ComboBox1 & ext
MsgBox "Archivo copiado"
End If
End With
End Sub
':)
'S aludos. D a n t e A m o r . R ecuerda valorar la respuesta. G racias
':)