Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Control + "v"

A Web está aí, não há como negar. Ela é onipresente em praticamente toda operação eletrônica realizada nos dias de hoje. Como não podia ser diferente, o Excel, ferramenta máxima para analistas e profissionais das mais diversas áreas do mercado precisa estar alinhado com esta necesssidade. E ele está! Neste forum, o debate é focado em expor dúvidas, sugestões, modelos de código e exemplos de uso do Excel na Integração com tecnologias Web.
sergio_lara
Colaborador
Colaborador
Mensagens: 14
Registrado em: Ter Jun 11, 2019 6:19 pm

Control + "v"

Mensagem por sergio_lara »

Olá!
Tenho um código (VBA + SeleniumBasic) para envio de email automatizado em que eu desejo digitar um Control + V, para colar um gráfico que está na área de transferência, porém não estou conseguindo. Já tentei o Sendkeys (keys.Control + "v") e o Sendkeys(keys.Control & "v"), mas não deu.

Alguém me ajuda a colar o conteúdo da área de transferência?


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


dougpinto
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Dom Jun 14, 2020 8:57 pm

Re: Control + "v"

Mensagem por dougpinto »

Boa noite Sérgio,

Já tentou SendKeys "^v" ?


sergio_lara
Colaborador
Colaborador
Mensagens: 14
Registrado em: Ter Jun 11, 2019 6:19 pm

Re: Control + "v"

Mensagem por sergio_lara »

Boa noite.

Com o Application.Sendkeys eu consigo, mas gostaria de usar o sendkeys do Selenium, senão eu preciso manter o navegador aberto naquela janela, sem usar a máquina. Se eu conseguisse usar o sendkeys do Selenium, eu poderia continuar usando o computador para outras tarefas. Mesmo assim, obrigado!


sergio_lara
Colaborador
Colaborador
Mensagens: 14
Registrado em: Ter Jun 11, 2019 6:19 pm

Re: Control + "v"

Mensagem por sergio_lara »

Pessoal, depois de algum tempo quebrando o galho com Application.Sendkeys, eu finalmente consegui. Dá uma olhada num exemplo aí:

Código: Selecionar todos

Sub teste()
    Dim driver              As New Selenium.ChromeDriver
    Dim Keys                As New Selenium.Keys
    
    driver.Get ("http://www.editordetextos.com.br/")
    driver.Keyboard.KeyDown (Keys.Control)
    driver.Keyboard.SendKeys ("v")
    driver.Keyboard.KeyUp (Keys.Control)
    driver.Quit
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


RodrigoAraujo
Colaborador
Colaborador
Mensagens: 15
Registrado em: Sex Nov 22, 2019 9:28 am

Re: Control + "v"

Mensagem por RodrigoAraujo »

Uso de outra forma:

ano = Worksheets("base").Range("C" & i).Value
driver.FindElementByXPath("/html/body/div[6]/div/div/div/div/ng-transclude/div/div[2]/div/article/div[1]/div/div/div/div[1]/div/input").SendKeys ano

Também usando o Chrome Driver


sergio_lara
Colaborador
Colaborador
Mensagens: 14
Registrado em: Ter Jun 11, 2019 6:19 pm

Re: Control + "v"

Mensagem por sergio_lara »

RodrigoAraujo escreveu: Qua Ago 26, 2020 10:42 am Uso de outra forma:

ano = Worksheets("base").Range("C" & i).Value
driver.FindElementByXPath("/html/body/div[6]/div/div/div/div/ng-transclude/div/div[2]/div/article/div[1]/div/div/div/div[1]/div/input").SendKeys ano

Também usando o Chrome Driver
Olá, Rodrigo. Para strings sua solução funciona e eu também uso assim, mas a intenção de usar o CONTROL + V é colar o que tem na área de transferência, o que em muitos casos, vai ser uma imagem ou um gráfico que, pelo que sei, não funciona com o SendKeys.

De forma análoga, tem diversas dúvidas, aqui mesmo no fórum de como fazer o CONTROL + A, por exemplo. Acredito que essa solução com o

Código: Selecionar todos

driver.Keyboard.KeyDown (Keys.Control)
também vai funcionar para diversas necessidades, diferentes da sua.

Abraço!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder