Notifications
Clear all

Duplicando a Tela

11 Posts
3 Usuários
0 Reactions
2,380 Visualizações
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Trabalho com dois monitores. Consegui gravar uma macro onde eu duplico a planilha do Excel. Porém eu gostaria de duplicar a planilha em um 2º monitor, não no mesmo.

Sei que existem as teclas de atalho "Shift+Windows+Seta" Que direciona se eu quero mandar a janela aberta para o monitor da esquerda ou direita. Porém não consigo colocar isso em VBA.

Alguém consegue me ajudar com essa questão?

 
Postado : 25/01/2018 2:44 pm
(@klarc28)
Posts: 971
Prominent Member
 

Já tentou gravar uma macro apertando essas teclas?

 
Postado : 25/01/2018 3:05 pm
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Já tentou gravar uma macro apertando essas teclas?

Já sim. Porém a macro não detecta.

 
Postado : 25/01/2018 3:11 pm
(@klarc28)
Posts: 971
Prominent Member
 

Sinto em dizer, mas, geralmente, quando é algo que o gravador de macros não detecta é porque não é possível fazer por macro.

 
Postado : 25/01/2018 4:14 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

jonatas, de um tempo pra ca a MS nas atualizações não sei porque o gravador de macros não captura determinadas ações, eu já vi tantas soluções que eu achava ser impossíveis que parei de duvidar da força do VBA, e para a sua questão, como está citando "teclas" já tentou utilizar a combinação das teclas utilizando o "Onkey" ?
Não tenho 02 monitores, mas de uma olhada no tópico abaixo e tambem no link, veja se consegue montar a rotina com as dicas.

viewtopic.php?f=10&t=27077&p=134994&hilit=onkey#p134994

Disable key or key combination or run a macro if you use it
https://www.rondebruin.nl/win/s4/win012.htm

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/01/2018 5:21 pm
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Já havia encontrado essa alternativa, neste fórum e em outros também.
Porém não tem os "key" do Windows, nem da seta.

Realmente é uma dúvida complicada, pois sei que é possível trabalhar com tela estendida/duplicada em programação, agora a questão é como escrever isso.

 
Postado : 26/01/2018 7:27 am
(@klarc28)
Posts: 971
Prominent Member
 

Pode ser que essa programação esteja mais ligada ao Windows que ao Excel.
Se for isso, a programação seria feita através de prompt de comando.
Na internet existem aplicativos que gravam macro.
Por exemplo, uma macro para dar um duplo clique num atalho da área de trabalho.
Talvez esse tipo de aplicativo funcione para o seu caso.

https://www.google.com.br/search?q=aplicativo+gravar+macro&oq=aplicativo+gravar+macro&aqs=chrome..69i57.6423j0j7&sourceid=chrome&ie=UTF-8

 
Postado : 26/01/2018 9:05 am
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Bem mais complicado do que imaginava.

Encontrei este link, graças ao toque de vocês:
http://cpap.com.br/orlando/SendKeysMais.asp

Mas já começa a fugir da minha alçada, pois não sei sobre a segurança do exe que tem no link a cima e também não manjo de API.
O ruim é que o arquivo exe do link a cima também não tem o atalho do teclado "Windows".

 
Postado : 26/01/2018 11:25 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu ia falar sbre o SendKey que é diferente do OnKey.

Mas para chamar a tecla do Logotipo do Windows do menu iniciar utilize a rotina abaixo:

Sub TeclaLogoWin()

    SendKeys "^{ESC}"

End Sub

De uma olhada nestes links tambem para montar as combinações e veja se da certo :

Instrução SendKeys
https://msdn.microsoft.com/pt-br/vba/la ... -statement

Send Key list
https://www.autoitscript.com/autoit3/do ... ndKeys.htm

Pesquise no google por SendKeys excel VBA e encontrará vários sites relacionados.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/01/2018 12:13 pm
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Primeiramente obrigado Mauro Coutinho.

O botão Windows é pressionado corretamente, porém quando eu tento fazer a junção dos três botões, ao invés dele empurrar a tela para o outro monitor, ele abre o gerenciador de tarefas. Creio que eu tenha escrito alguma parte do código errada. Consegue me auxiliar por favor?

Sub Estender()

    'Pressionar Tecla Shift + Windows + Seta para Direita
    SendKeys "+^{ESC},{RIGHT}"

End Sub

Tecla = Código
Shift = +
Seta para Direita = {RIGHT}

 
Postado : 30/01/2018 9:36 am
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Um amigo de outro fórum conseguiu escrever o código da forma correta pra mim. Caso alguém queira segue a baixo:

SendKeys "+(^{ESC}({RIGHT}))"

Seria necessário o uso de API's. Mas eu não entendo do assunto. Alguém consegue ajudar?

 
Postado : 02/02/2018 11:54 am