Пользовательская форма Excel vba, содержащая веб-браузеры при инициализации, закрывает Excel без сообщения об ошибке и восстанавливает файл. Зачем? - PullRequest
0 голосов
/ 19 июня 2019

Это работает на моем обычном ноутбуке 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 закрывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...