Instrucción que PEGUE la ruta de un archivo en Ventana

Tengo la siguiente instrucción y funciona hasta abrir el explorador de archivos pero la Ruta del archivo a buscar no pega

¿Alguna sugerencia?

'Presionar con el teclado hacia arriba dos veces PASO OK
Call SendKeys("{UP}", True)
Application.Wait Now + TimeValue("00:00:01") 'Para esperar 2 segundos la ejecucion
'Aqui se abre la ventana de explorador de archivo PASO OK
Call SendKeys("~", True)  'El caracter ~ es para presionar enter y enviar el mensaje
Application.Wait Now + TimeValue("00:00:02") 'Para esperar 2 segundos la ejecucion
'Se pega donde esta la ruta AQUI LA MACRO NO PEGA LA RUTA
RutaArchivo = "C:\Users\Miguel Angel\Downloads\VideoAtencion2.mp4"
RutaArchivo. Copy
Application. Wait Now + TimeValue("00:00:02") 'Para esperar 2 segundos la ejecucion
Call SendKeys("^{v}", True)  'El caracter para pegar lo copiado
Application. Wait Now + TimeValue("00:00:02") 'Para esperar 2 segundos la ejecucion
Respuesta
2

El contenido de las variables no se puede copiar de esa manera.

Una opción es que lo pongas en una celda y después copies la celda.

Otra opción es que lo pongas en memoria:

Copy code problem | MrExcel Message Board

Utiliza lo siguiente para obtener el dato que pusiste en la memoria:

GetFromClipboard

----------

Recomendaciones:

https://youtu.be/WI1XrCY50mA 

1 respuesta más de otro experto

Respuesta
3

Si lo que necesitas es utilizar solo el teclado, podrías tener la siguiente macro, que se ejecutará con un Atajo de teclado.

Desde la celda donde quieras que se pegue la ruta encontrada, presiona juntas las 2 teclas (en mi caso es CTRL R (mayúsc o minúsc).

Sub buscaCarpeta()
'x Elsamatilde
'Atajo de teclado: CTRL r   'letra en mayúsc o minúsc
Dim carpeta
Dim ruta As String
Set carpeta = Application.FileDialog(msoFileDialogFolderPicker)
'si se cancela la ventana de diálogo, finaliza el proceso
If carpeta.Show = 0 Then Exit Sub
'se guarda en la variable la carpeta elegida
ruta = carpeta.SelectedItems(1)
'opcional: mostrar esa ruta en la celda activa
ActiveCell = ruta
End Sub

Para asignar un atajo de teclado, desde menú Programador (o Desarrollador), Macros, selecciona ésta y desde Opciones, ingresa la letra que quieras aplicar.

No se si estamos dando con tu idea, pero por lo menos lo intentamos ;)

En video N° 2 de mi canal, encontrarás más opciones a la hora de asignar atajos de teclado.

Sdos.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas