- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有大量的 Excel 文件,它们的工作方式几乎像一个程序,并且它们在多台计算机上运行(具有不同版本的 Windows),并且最近我有这个坏 问题,当用户按下我的关闭按钮(实际上是我与宏关联的图片)时,代码调用:
ThisWorkbook.Close savechanges:=True
这会导致 4 台受支持的计算机中的 2 台无法抓取 EXCEL(Windows XP = 正常,Windows 10 = 正常,1 其它不好,Windows 8 = 不好)。
我已将事件与这行特定的代码隔离开来(仅使用关闭按钮制作了一张 excel 文件,但它仍然崩溃)我注意到,如果 Excel 文件不是唯一打开的文件,有时它不会崩溃(也许问题在于关闭 Excel 本身)
我所做的是将这两个语句分开,因此如果(当)它崩溃时它已经保存了:
ThisWorkbook.Save
ThisWorkbook.Close
有人可以照亮一些吗?我真的迷路了。我尝试了所有我能想到的替代方案(activeworkbook...)
Tl;dr: “ThisWorkbook.Close”导致 Excel 崩溃
最佳答案
这是 Microsoft Excel 中的一个标准错误。不确定微软是否有任何修复。不过,有一些解决方法可以解决这个问题。
当“关闭”事件由点击事件触发但与“选择更改”等其他事件一起正常工作时,会出现此问题。要解决这个问题,您可以尝试以下方法:
在按钮的点击事件中添加以下代码:
Private Sub CloseButton_Click()
Cancel = True
Application.OnTime Now, "Close_Xls"
End Sub
在标准模块中,添加以下代码
Sub Close_Xls()
ThisWorkbook.Close savechanges:=True
End Sub
这对我有用。如果有帮助请告诉我
关于vba - "ThisWorkbook.Close"导致excel崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40524060/
我有一些 VBA 代码在办公 table 上的 Excel 中运行良好,但在家里却崩溃了。事实证明我所要做的就是改变 Set shtObj = ThisWorkbook.Sheets(1) 至 Set
这个脚本曾经在 Office 2010 中工作,但自从我们升级到 2016 后,它不再工作了。我一直在玩没有解决方案的代码。请帮忙! :) 我收到了一份带有订单的每周报告,并使用 VBA 将其格式化为
首先,感谢那些给我建议使用“ThisWorkbook.Path”的人。它就像一个魅力。 但是,我的代码遍历了七 (7) 个工作簿,并且在使用“ThisWorkbook.Path”时,我无法重新初始化“
在普通的 Excel 窗口中,我可以打开 VBE 并通过触摸键序列插入一个新模块:ALT+F11、ALTim 全部不使用鼠标。有没有办法打开 VBE 并导航到 本工作手册 不使用鼠标的代码区域? 最佳
我正在尝试从一个工作簿复制到另一个工作簿。我首先打开工作簿 B 并尝试复制到工作簿 A。但是我收到错误 Object doesnt support this property or method在线T
这一直困扰着我一段时间。我想按名称访问工作表,而不是“如何在 Excel 中命名工作表”。我还想包括 ThisWorkbook在该行中,以消除使用同名工作表打开多个工作簿的可能性。但是我收到一个错误:
我在“thisWorkbook”中定义了一堆方法,但我无法以 =foo(17.0) 的形式访问它们从电子表格。在互联网上搜索表明,对于您想直接从电子表格中使用的功能,您应该创建一个新的 Module第
我需要保存、关闭并重新打开“ThisWorkbook”。 代码应该是这样的: Sub reopen() Dim wb As Excel.Workbook Set wb = ThisWorkbook w
我的工作簿有一些非常隐藏的工作表 (xlSheetVeryHidden),因为我不希望最终用户看到这些工作表中的信息。 但是,令我惊讶的是,使用这种方法非常弱,因为任何最终用户都可以从另一个工作簿运行
使用加载项时无法获取工作簿的名称。 我正在尝试开发一个加载项,该加载项会在您每次打开 Excel 时运行并读取打开文件的文件名。 如果文件名为XCFIL.SKV,则执行某些操作... 这段代码应该可以
我在 Excel 宏的 VBA 代码中收到编译错误。我在网站上查找了与此相关的任何先前问题,但前面的示例似乎都不适用于我的案例,并且解决方案各不相同,因此我在这里发帖,希望找到更具体的答案。 当尝试编
我正在 Excel 中编写一个 VBA 宏,该宏应该打开“fileB.xls”,然后在打开后立即关闭。由于我们将讨论 3 个 Excel 文件,因此我将第一个文件命名为 fileA。 文件 A 的用户
我有一个 VBA 将唯一值从 Sheet1 复制并粘贴到 Sheet3 上。但是,当我运行 VBA 时,出现运行时错误 438。我的 VBA 如下所示: Sub UniqueList() Applic
我需要 VBA 代码将过程导入到另一个工作簿内的 ThisWorkbook 范围。 我有代码将模块导入到另一个工作簿中,但如何将此过程导入到 ThisWorkbook 范围而不是模块范围中? Sub
如果选择了sheet1以外的其他工作表或工作簿,为什么代码在执行宏时不起作用?我需要这种格式的代码,以便稍后可以将单元格条目中的值更改为变量。有什么办法可以解决这个问题吗? Sub testhsa()
我有大量的 Excel 文件,它们的工作方式几乎像一个程序,并且它们在多台计算机上运行(具有不同版本的 Windows),并且最近我有这个坏 问题,当用户按下我的关闭按钮(实际上是我与宏关联的图片)时
我正在根据用户输入 1 到 5 设置用户表单,但是,我似乎无法将此输入输入到 Userform_Initialise 子中。 Public TP As String 'this is in ThisW
我已经从代码在 Thisworkbook 中的 XMLS 中提取了 bin 文件,因为我需要在打开文件时运行宏 我无法使用以下代码创建在打开时执行代码的 XLSM:创建的 XLSM 具有“Thiswo
我在工作簿中的特定工作表上执行了一些 VBA 操作,这些操作可能会在以后被复制,从而使最终用户能够一次打开多个副本(并用不同的数据填充表格)。 问题: 我是否需要明确提及 ThisWorkbook.S
相当于什么 Workbooks(ThisWorkbook.Name) 在自由办公室宏(StarBasic) 我想使用 Workbooks(ThisWorkbook.Name) 之类的 以下 Wit
我是一名优秀的程序员,十分优秀!