gpt4 book ai didi

excel - VBA CopyPicture 在锁定屏幕上失败 ("error 1004 cannot empy clipboard")

转载 作者:行者123 更新时间:2023-12-04 19:50:34 25 4
gpt4 key购买 nike

我有一个简单的 VBA 代码,它使用 CopyPicture 复制范围(一些图表和表格)并将其保存为 .gif 文件。屏幕解锁时一切正常,但锁定时,Excel 会时不时抛出 1004 错误:“无法清空剪贴板”(大约 40% 的尝试)。

我想我已经尝试了一切:
- 类似线程中给出的每个解决方案: CopyPicture method of range class failed - sometimes
- 通过等待 5 秒并尝试重复执行一些错误处理 (Application.Wait (Now + TimeValue("00:00:05")))
- 将屏幕更新设为真 Application.Screenupdating=True
- 使用此线程中给出的一些解决方案清除剪贴板: How to Clear Office Clipboard with VBA
但没有任何效果。

一些示例代码:

Function print(ByVal wb As Workbook, ByVal path As String, ByVal name As String)

Dim RNG as Range
Dim chtObj As ChartObject
sFile = path & name

Application.EnableEvents = False

Set RNG = Sheets(1).Range("A1:M50")
wb.Activate
Application.CutCopyMode = False
With RNG
.CopyPicture Appearance:=xlScreen, Format:=xlBitmap **<-- this is where code fails**
Set chtObj = ActiveSheet.ChartObjects.Add( _
.Left, .top, .Width, .Height)
chtObj.Chart.ChartArea.Format.Line.Visible = msoFalse
End With

chtObj.Chart.Paste
Application.CutCopyMode = False
chtObj.Chart.Export sFile
chtObj.Delete

Application.EnableEvents = True
End Function

我使用的是 Windows 10 和 Wxcel 2013。

我正在考虑通过循环此函数直到它通过来做一些丑陋的解决方法,但这是我最不想做的事情。

最佳答案

我遇到了同样的麻烦并通过变通方法解决了:使用键盘和鼠标拦截器无法锁定屏幕,如下所示:https://sourceforge.net/projects/winkeylock/

关于excel - VBA CopyPicture 在锁定屏幕上失败 ("error 1004 cannot empy clipboard"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57791292/

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