如何以编程方式关闭剪贴板警告消息


摘要


关闭 Microsoft Excel 工作簿时,没有任何设置可阻止您收到警告消息,提示您保存或删除剪贴板中的信息。 本文介绍为何出现此警告消息,以及如何使用 Microsoft Visual Basic for Applications 宏阻止它。

更多信息


Microsoft 提供的编程示例仅用于说明,没有任何明示或暗示保证,包括(但不限于)对特定用途的适销性和/或适用性的默示担保。本文假定你熟悉所演示的编程语言以及用于创建和调试过程的工具。Microsoft 支持专业人员可以帮助解释特定过程的功能,但它们不会修改这些示例以提供额外的功能或构建过程来满足你的特定需求。如果你的编程体验有限,你可能需要联系 Microsoft 认证合作伙伴或 Microsoft 咨询服务。有关详细信息,请访问以下 Microsoft 网站: Microsoft 认证合作伙伴- Https://partner.microsoft.com/global/30000104Microsoft 咨询服务- http://support.microsoft.com/gp/advisoryservice有关可用支持选项以及如何联系 microsoft 的详细信息,请访问下面的 microsoft 网站:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS在 Excel 中剪切或复制单元格时,这些单元格的范围由移动边框所包围。 "移动" 边框指示您处于 "剪切" 或 "复制" 模式下。 当满足以下所有条件时,将显示剪贴板警告消息:
  • 您处于剪切或复制模式。
  • 您选择了101或更多单元格。
  • 关闭工作簿,或者退出 Excel,从而强制关闭工作簿。
这些条件生成类似于以下的警告消息:
剪贴板上有大量信息。 是否希望以后能够将此信息粘贴到另一个程序中?
有多种方法可防止显示此警告消息。 最快的手动方法是在关闭工作簿之前按 ESC 键。 在使用 Visual Basic for Applications 宏剪切或复制单元格的自动方案中,你可能不会考虑按 ESC 键阻止警告的可接受选项。 在这种情况下,请使用以下任何编程方法来防止警告。

方法1:复制单个单元格

如果使用 Visual Basic for Applications 宏来剪切或复制单元格,请在关闭工作簿的行之前插入以下行:
ActiveSheet.Range("A1").Copy
如果剪贴板包含100或更少的单元格,则不会显示警告消息。

方法2:从 CutCopyMode 退出

如果使用 Visual Basic for Applications 宏来剪切或复制单元格,请将以下行插入到关闭工作簿的行的前面
workbook.Application.CutCopyMode = False
其中 "工作簿" 是您的工作簿对象。注意:通过将 CutCopyMode 设置为 True 或 False,Excel 可能会取消剪切或复制模式。

方法3:保存工作簿

如果使用 Visual Basic for Applications 宏来剪切或复制单元格,请将以下行插入到关闭工作簿的行的前面
workbook.Save
其中 "工作簿" 是您的工作簿对象。 保存工作簿时,Excel 不再处于剪切或复制模式。