关闭文件时无法抑制剪贴板警告消息
Posted
技术标签:
【中文标题】关闭文件时无法抑制剪贴板警告消息【英文标题】:Unable to suppress clipboard warning message when closing a file 【发布时间】:2016-06-20 16:50:52 【问题描述】:我有一个宏,它打开一个工作簿 (wb1) 并将其复制到另一个工作簿 (wb2),然后关闭 wb1。但是,我总是提示下面的消息,即有大量剪贴板数据我不想被提示。在做了一些研究后,我发现将“Application.CutCopyMode”设置为 false(这会清除剪贴板)可以解决这个问题,但它没有。
Application.CutCopyMode = False
...
'copy the range from source book
wb1.Worksheets("Sheet1").Range("A1:V2").Copy
'paste the data on the target book
wb2.Worksheets("Sheet1").Range("A1:V2").PasteSpecial
wb.Close savechanges:=False
如果没有此消息,我如何关闭文件?
【问题讨论】:
您可能希望查看以下内容:***.com/a/22328170/1153513 请注意,您必须清除原始工作簿的剪贴板。所以,它应该在你的例子中wb1.Application.CutCopyMode = False
【参考方案1】:
如果您想禁止显示任何消息,请在关闭文件之前添加以下内容:
Application.DisplayAlerts = False
如果要清除剪贴板内容,应在执行复制/粘贴操作后添加Application.CutCopyMode = False
。像这样:
...
'copy the range from source book
wb1.Worksheets("Sheet1").Range("A1:V2").Copy
'paste the data on the target book
wb2.Worksheets("Sheet1").Range("A1:V2").PasteSpecial
Application.CutCopyMode = False
wb.Close savechanges:=False
【讨论】:
但是如果出现其他重要警报怎么办? 啊,好吧...您只想取消该警告。在这种情况下,您应该在执行复制/粘贴操作后使用Application.CutCopyMode = False
,并且可以删除Application.DisplayAlerts = FALSE
语句。我会更新我的答案【参考方案2】:
您想要做的特殊粘贴到底是什么?如果您只想复制值,则无需复制和粘贴,只需直接分配值即可:
wb2.Worksheets("Sheet1").Range("A1:V2").value = wb1.Worksheets("Sheet1").Range("A1:V2").value
【讨论】:
以上是关于关闭文件时无法抑制剪贴板警告消息的主要内容,如果未能解决你的问题,请参考以下文章