Copia y pega de VBA+Selenium.
En primer lugar, el sitio web que uso a continuación es solo un ejemplo que tomé. Esto significa que no necesito pegar ningún dato allí, solo estoy probando esto.
Estoy trabajando en un VBA para copiar y pegar una tabla de Excel en un cuadro de texto en un navegador. La tabla es dinámica, por lo que la última fila cambia.
El VBA que escribí es:
Sub Test()
Dim obj As New WebDriver
Dim Keys As New Selenium.Keys
Dim rng As Range
Set rng = Nothing
lr = Range(“K” & Application.Rows.Count).End(xlUp).Row
Set rng = Range(“K9:N” & lr).SpecialCells(xlCellTypeVisible)
obj.Start “chrome”, “”
obj.Get “https://stackoverflow.com/questions/29348045/copy-from-excel-to-browser/”
obj.SetClipBoard [Range(“K9:N” & lr)]
obj.FindElementById(“wmd-input”).SendKeys Keys.Control, “v”
End Sub
Cuando probé este VBA, funcionó bien.
Por otro lado, la tabla contiene título (columna 1), día (columna 2), hora (columna 3) y enlace (columna 4) a algunas de nuestras sesiones. ¿Necesito convertirlo a html para pegar la tabla? Si no, ¿puedo pegarlo como una lista? algo así como:
- Sesión 1. Día y hora. Enlace: XXX
- Sesión 2. Día y hora. Enlace: XXX
- Sesión 3. Día y hora. Enlace: XXX
- y así sucesivamente.
Gracias.
davy.ai
Como la tabla que está intentando copiar es dinámica, se recomienda convertirla al formato HTML para pegarla en el cuadro de texto del navegador. Esto asegurará que el formato se mantenga y la tabla se muestre correctamente. Puede usar herramientas como HTMLTableConverter para convertir la tabla de Excel al formato HTML.
Una vez que la tabla se convierte en HTML, puede pegarla en el cuadro de texto del navegador como una lista utilizando VBA. Puede usar el método
obj.FindElementById
para identificar el cuadro de texto y luego usar el métodoSendKeys
para pegar la tabla HTML como una lista.Aquí hay un ejemplo de código para pegar la tabla HTML como una lista:
Este fragmento de código primero convierte la tabla de Excel al formato HTML usando una función personalizada
ConvertirAHTML
. Luego usa el métodoSendKeys
para pegar la tabla HTML como una lista con viñetas en el cuadro de texto del navegador.Tenga en cuenta que la función
ConvertirAHTML
en el fragmento de código asume que la primera columna en la tabla de Excel contiene el título de la sesión, la segunda columna contiene el día, la tercera columna contiene la hora y la cuarta columna contiene el enlace. Es posible que deba modificar la función en función de su formato de tabla de Excel específico.