es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

sentencia send keys en excel

Me pregunto si hay posibilidad a través de VBA {send keys} y coordenadas de hacer clic en abrir.
Busqué la respuesta FileDialogBox, pero eso era para seleccionar con el ratón, luego el vba guarda la ruta del archivo en la que hiciste clic. Pero lo que quiero es seleccionar automáticamente el archivo y hacer clic en abrir.
Es necesario cuando a través de la macro reemplazo las rutas de los archivos dentro de las fórmulas. la ventana emergente se abre y el evento screenupdating false no ayuda.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Excel, puedo decirte que no es recomendable utilizar SendKeys para controlar el comportamiento de una aplicación porque puede ser poco confiable y propenso a errores. En su lugar, deberías utilizar código VBA para automatizar tareas en Excel.

    Para seleccionar automáticamente un archivo y hacer clic en “Abrir”, puedes utilizar el método Application.GetOpenFilename. Este método abre el cuadro de diálogo estándar de “Abrir” y permite al usuario seleccionar un archivo. Luego, se puede utilizar código VBA para manipular el archivo seleccionado sin que el usuario tenga que hacer clic manualmente en el botón “Abrir”.

    Aquí tienes un ejemplo de cómo utilizar el método GetOpenFilename:

    Sub AbrirArchivoSeleccionado()
        Dim archivoSeleccionado As Variant
        ' Abre el cuadro de diálogo estándar de "Abrir"
        archivoSeleccionado = Application.GetOpenFilename()
        ' Verifica si el usuario seleccionó un archivo
        If Not archivoSeleccionado = False Then
            ' Manipula el archivo seleccionado
            MsgBox "Archivo seleccionado: " & archivoSeleccionado
            ' Por ejemplo, podrías reemplazar rutas en fórmulas utilizando el siguiente código:
            ' ActiveSheet.Cells.Replace What:="ruta_antigua", Replacement:="ruta_nueva", LookAt:=xlPart, _
            ' SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
        End If
    End Sub
    

    Este código abre el cuadro de diálogo estándar de “Abrir” y permite al usuario seleccionar un archivo. Si se selecciona un archivo, la ruta del archivo se muestra en una ventana de mensaje y se ejecuta el código dentro del bloque If Not archivoSeleccionado = False Then. Puedes reemplazar el código de ejemplo con tu propio código para manipular el archivo seleccionado, como por ejemplo, reemplazar rutas en fórmulas.

    Utilizando este método, puedes automatizar la selección de archivos sin depender de SendKeys o hacer clic en el botón “Abrir” mediante coordenadas, lo cual puede ser propenso a errores y poco confiable.

Comments are closed.