gpt4 book ai didi

excel - 无法在 Excel 2016 VBA 中设置 Application.DisplayAlerts = False

转载 作者:行者123 更新时间:2023-12-04 20:05:59 24 4
gpt4 key购买 nike

几个星期以来,我一直在追逐自己的尾部,“谷歌搜索的时间比我想承认的要多。

我在 Excel 2016 电子表格中有一个大型、复杂的分析应用程序,它可以捕获 SQL 表数据、查询电子邮件数据并做很多我认为很酷的事情。用户可以看到销售人员自动化绩效指标和图表。一切都很好,除了一件事。我无法停止“保存数据?”无论我做什么,对话框都不会出现。

作为一种解决方法,我将电子表格放在网络上,并为用户提供了一个运行 VBscript 的快捷方式,以将此电子表格复制到本地 PC 上的隐藏驱动器并运行它。因此,如果他们保存它,就不用担心,因为他们没有使用原始数据。但正如人们很容易想象的那样,加载时间必然比需要的时间长,当我告诉他们无法保存数据时,用户会被一条消息弄糊涂。

经过许多不同的实验后,我似乎在 Excel 中发现了一个错误(是的,我知道,这对我来说听起来很蹩脚),因为我无法使 Application.DisplayAlerts = False。它只是不会采取。

在此处查看图片:
enter image description here

上面的图片(或上面的链接,因为我还没有提交足够的问题来嵌入图片)显然是在我运行应用程序时从即时窗口中获取的。我按照显示的确切顺序输入了这些步骤。请注意,我设置了 Application.DisplayAlerts = False,然后立即检查该值,结果为 True。

很奇怪。这是一个错误吗?

最后一点可能无关紧要;我使用 .XLSB 格式是因为占用空间更小,加载时间更短,并且可以解决宏的 PC 设置问题。但我已切换回 .XLSX 以简化实验。

最佳答案

澄清一下:代码在调试器中的每个单步执行后都会暂时停止,导致 Excel 将其设置回 。真 空闲时。这是验证此行为的一种方法:

  • 在 VBE 代码开发窗口中,打开即时窗口 (Ctrl-G)。
  • 在例程中的某处临时插入以下代码:

    调试。打印“...”

    Application.DisplayAlerts = False

    Debug.Print "Application.DisplayAlerts:"& Application.DisplayAlerts

    停止
  • 使用“设置下一条语句 ”工具(或Ctrl-F9),设置 Debug.Print "..."语句成为下一个要执行的语句。
  • 按 F5 ( Continue ) 在那里运行代码表单。
  • 您应该会在“立即”窗口中看到以下内容:

    ...

    Application.DisplayAlerts:错误
  • 现在,代码停在 停止语句,在“立即”窗口中键入“?Application.DisplayAlerts”,然后按 [Enter] 键。你会得到:

    ?Application.DisplayAlerts

    真的

    因为 Excel 已将其重置为 而代码被暂停。
  • 删除实验代码。
  • 关于excel - 无法在 Excel 2016 VBA 中设置 Application.DisplayAlerts = False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38708453/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com