PEGAR CONTEUDO DA AREA DE TRANSFERENCIA

 Tópico anterior Próximo tópico Novo tópico

PEGAR CONTEUDO DA AREA DE TRANSFERENCIA

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#478314 - 06/12/2017 17:46:36

SIDSIL
SANTOS
Cadast. em:Março/2010


Boa Tarde Amigos

Vou utilizar as teclas F5/F6 para jogar o conteudo de um TextBox para a Area de Transferencia e joga-lo em outro TextBox.
Ja sei como fazer isso.

O problema e que pegarei o conteudo de um TextBox especifico e precisarei joga-lo em um TextBox,cujo nome eu nao sei,pois podera ser qualquer um do formulario.

Gostaria de saber como jogar esse conteudo para o TextBox que estiver com o SetFocus,ou seja o TextBox ativo em determinado momento.

Obrigado e um Abraço



#478315 - 06/12/2017 22:13:54

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Na verdade é bem fácil isso que você quer
coloquei tudo oque você precisa, a função esta dentro do time,já coloquei copiando da área de transferência
Finalize o tópico se foi útil para você.   Um grande abraço




Option Explicit
'
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function IsWindow Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Declare Function AttachThreadInput Lib "user32" (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As Long
Private Declare Function GetFocus Lib "user32" () As Long
'


Public Function WindowHasFocus(hWndOfInterest As Long) As Boolean
     WindowHasFocus = (hWndForeground = hWndOfInterest) Or (hWndOfFocus = hWndOfInterest)
End Function

Public Function hWndForeground() As Long

    hWndForeground = GetForegroundWindow
End Function

Public Function hWndOfFocus() As Long
    Dim foreWindowThread As Long
    Dim hwndFore As Long
    '
    hwndFore = GetForegroundWindow
    If IsWindow(hwndFore) = 0 Then Exit Function
    '
    foreWindowThread = GetWindowThreadProcessId(hwndFore, ByVal 0&)
    '
  
    If App.ThreadID <> foreWindowThread Then AttachThreadInput App.ThreadID, foreWindowThread, 1&
    hWndOfFocus = GetFocus()
    If App.ThreadID <> foreWindowThread Then AttachThreadInput App.ThreadID, foreWindowThread, 0&
End Function

Private Sub Timer1_Timer()


If WindowHasFocus(Text1.hWnd) = "True" Then
Label1.Caption = "caixa 1 selecionada"
Text1 = Clipboard.GetText(vbCFText)
End If

If WindowHasFocus(Text2.hWnd) = "True" Then
Label1.Caption = "caixa 2 selecionada"
  Text2 = Clipboard.GetText(vbCFText)

End If

  
If WindowHasFocus(Text3.hWnd) = "True" Then
Text3 = Clipboard.GetText(vbCFText)
End If


End Sub




 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário