Это работает на моем обычном ноутбуке 16 ГБ оперативной памяти и Excel Office 365, но когда я использую свой планшетный ПК с 4 ГБ оперативной памяти и Excel Office 365. Когда я инициализирую конкретную пользовательскую форму, которая содержит два веб-браузера, это вызывает сбой Excel, я не получают никаких сообщений об ошибках, похоже, что он думает об этом, а затем Excel просто закрывается и снова открывается с восстановленной версией. Весь мой другой код работает нормально.
На моем ноутбуке с 16 Гб оперативной памяти все в порядке, версии windows и excel одинаковые, единственное отличие - 4 Гб. Я ожидал, что это займет больше времени с разницей в оперативной памяти, это проблема с памятью?
Когда я отключил следующие строки, пользовательская форма загружается нормально (очевидно, без перехода на веб-страницы)
Me.WebBrowser1.Silent = True
Me.WebBrowser1.Navigate "https://www.nutracheck.co.uk/CaloriesIn/"
Me.WebBrowser2.Navigate "about:blank"
Me.WebBrowser2.Document.Write "<img style=""width:100%;""
src=""https://media.giphy.com/media/MIY4jpusckRmU/giphy.gif"">"
WebBrowser2.Document.Body.Style.Border = "none"
WebBrowser2.Document.Body.Scroll = "no"*
Private Sub UserForm_Initialize()
With Application
' here I have code to format and position labels and command buttons on
'userform according to screen size
End With
'next line suppresses script errors in the web browser window
Me.WebBrowser1.Silent = True
Me.WebBrowser1.Navigate "https://www.nutracheck.co.uk/CaloriesIn/"
Me.WebBrowser2.Navigate "about:blank"
Me.WebBrowser2.Document.Write "<img style=""width:100%;""
src=""https://media.giphy.com/media/MIY4jpusckRmU/giphy.gif"">"
With Application
WebBrowser1.Top = .Top + 40
WebBrowser1.Left = AddARecipe.Left + (AddARecipe.Width * 0.48)
WebBrowser1.Height = .Height - 40
WebBrowser1.Width = AddARecipe.Width * 0.5
End With
With Application
WebBrowser2.Top = .Top + 60
WebBrowser2.Left = 0 '10
WebBrowser2.Height = (AddARecipe.Width * 0.243)
WebBrowser2.Width = (AddARecipe.Width * 0.45)
WebBrowser2.Visible = False
WebBrowser2.Document.Body.Style.Border = "none"
WebBrowser2.Document.Body.Scroll = "no"
End With
End Sub
Когда код запускается без изменений, и я перехожу по коду, сообщения об ошибках не появляются, его просто в "end sub" excel закрывается.