Я пытаюсь запустить URL, а затем сделать снимок экрана с открывающимся окном IE (при запуске URL он также запускает приложение SmartCard Reader), поэтому мне нужно либо захватить все открытые окна, либо окно IE и затем вставить как изображение в ячейку ниже или сохранить как изображение на диске C, а затем я могу прикрепить этот файл к книге.
Я пытаюсь заставить этот код работать для определенного экрана, который запускается, у меня наполовину получилось, но он захватывает не то приложение.
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
Но у меня возникает проблема, когда он не говорит, то есть экран не выбран, а затем не может вставить в B18 внизу, берет меня для отладки "ActiveSheet.Вставить "раздел.
Это так близко, любая помощь будет по достоинству оценена.