1

Я пытаюсь запустить 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.Вставить "раздел.

Это так близко, любая помощь будет по достоинству оценена.

0