Estou tentando iniciar uma URL e, em seguida, capturar a janela do IE que é aberta (quando a URL é iniciada, ela também inicia um aplicativo SmartCard Reader), então eu preciso dela para capturar todas as janelas abertas ou a janela do IE em seguida, cole como uma imagem na célula abaixo ou salve como uma imagem na unidade C e, em seguida, posso anexar esse arquivo à pasta de trabalho.
Estou tentando fazer com que esse código funcione para uma tela específica que é lançada. Eu já consegui trabalhar, mas capturando o aplicativo errado.
Sub Screenshot()
OpenClipboard (0&)
EmptyClipboard
CloseClipboard
Dim IE As Object
Dim hwnd As Long, IECaption As String
Dim fdate As Date
'~~> Change Status and unmerge
Range("B11").Value = "Running"
ThisWorkbook.Sheets("SAT").Range("B18:D33").UnMerge
'~~> Launch URL
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "https://www.google.co.uk"
Sleep 5000
'~~> Get the caption of IE
IECaption = "Google - Internet Explorer"
Sleep 4000
'~~> Get handle of IE
hwnd = FindWindow(vbNullString, IECaption)
If hwnd = 0 Then
MsgBox "IE Window Not found!"
Exit Sub
Else
'~~> Maximize IE
'ShowWindow hwnd, SW_SHOWMAXIMIZED
End If
DoEvents
'~~> Snapshot of window & Paste into Sheet location (Esc used to close an application popup screen)
Sleep 1000
keybd_event vk_Escape, 0, 0, 0
Sleep 2000
Application.SendKeys "(%{1068})"
Sleep 2000
Application.SendKeys ("%{F4}")
ThisWorkbook.Sheets("SAT").Range("B18").Select
ActiveSheet.Paste
'~~> Tidy up and update status
Sheets("SAT").Range("B18:D33").Merge
Range("B11").Value = "Completed: Screen Captured"
End Sub
Mas eu recebo um problema onde ele não diz, ou seja, tela não selecionada e, em seguida, não pode colar em B18 na parte inferior, leva-me a depurar a seção "ActiveSheet.Paste".
Está tão perto, qualquer ajuda seria muito apreciada.
Tags microsoft-excel-2010 vba