excel - 初始化时包含 WebBrowsers 的 Excel vba 用户表单关闭 excel 而没有错误消息,并恢复文件。为什么?
问题描述
这适用于我的普通笔记本电脑 16Gb ram 和 excel office 365,但是当我使用带 4Gb ram 和 excel office 365 的平板电脑时。当我初始化包含两个网络浏览器的特定用户表单时,它会导致 excel 崩溃,我没有收到任何错误消息,它看起来像是在考虑它,然后 excel 只是关闭并使用恢复的版本重新打开。我所有的其他代码都可以正常工作。
这在我的 16Gb ram 笔记本电脑上可以正常工作,windows 和 excel 的版本是相同的,唯一的区别是 4Gb。我原以为它只需要更长的时间,因为内存的差异,这是内存问题吗?
当我取消以下行时,用户表单加载正常(显然没有导航到网页)
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
当代码未更改地运行时,我单步执行代码时没有出现错误消息,它就在“结束子”处关闭。
解决方案
推荐阅读
- tensorflow - 内部带有 fft2d/ifft2d 的自定义 keras/TF 损失函数不起作用
- python - 在 mapplotlib 中绘制热图问题
- logstash - 在logstash中将秒更改为毫秒
- ruby - Leetcode #501 - 在二叉树中查找模式:递归和传递引用的问题
- java - Spring CrudRepository-如何通过外键 ID 插入记录?
- react-native - 如何使用异步存储持久登录?
- python - 未找到 mlagents_envs 的匹配分布
- c++ - 如何正确同步 c/c++ 应用程序中的线程?
- python - 如何在这段代码中用我的 txt 替换 nltk 字典?
- python - 通过在 python 中引用数据框中的其他列来创建新列