Вы можете видеть, что ваш код не был написан эффективным способом. Для альтернативного подхода, вы можете сослаться на пример ниже, который отлично работает с Windows 10.
Dim IE As Object
Sub demo()
Application.ScreenUpdating = False
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate "C:\Users\Administrator\Desktop\sample.html"
While IE.Busy
DoEvents
Wend
wait 1
IE.Document.getElementById("firstname").Value = ThisWorkbook.Sheets("Sheet1").Range("A1")
wait 1
IE.Document.getElementById("lastname").Value = ThisWorkbook.Sheets("Sheet1").Range("A2")
wait 1
IE.Document.getElementById("submit_btn").Click
IE.Quit
Set IE = Nothing
Application.ScreenUpdating = True
End Sub
Private Sub wait(seconds As Long)
Dim endTime As Date
endTime = DateAdd("s", seconds, Now())
Do While Now() < endTime
DoEvents
Loop
End Sub
Вывод:
Если говорить о вышеприведенном коде, чем вы можете попытаться поставить точку останова на эту строку и попробуйте отладить код. Проверьте, какое значение содержится в ячейке B5, и проверьте, успешно ли выполняется эта строка. Для тестирования попробуйте назначить статическое значение этому текстовому полю.
Из того, что я читал, GraphicsMagick более стабильна и быстрее. Я провел пару ненаучных тестов и обнаружил, что gm в два раза быстрее im (изменение размера).
Обратите внимание, что GraphicsMagick обеспечивает API и устойчивость ABI, которая не является частью гарантии ImageMagick. Это было бы важно в конечном счете, если Вы не vendoring все Ваши зависимости.
Я обнаружил, что ImageMagick невероятно медленный для обработки изображений группы 4 TIFF (черно-белые изображения документов), в основном из-за того, что он преобразует из 1 бит на пиксель в 8 и обратно снова, чтобы делать какие-либо манипуляции с изображениями. Группа GraphicsMagick пересмотрела поддержку формата TIFF в своей версии 1.2, и она намного быстрее обрабатывает эти типы изображений, чем исходный ImageMagick. Текущая стабильная версия GraphicsMagick - 1.3.5.