关闭文件时,Excel VBA错误"图片太大,将被截断"

Sha*_*i W 6 excel vba excel-vba

我已经在这个项目上工作了很长时间,每当我关闭我的Excel文件时突然出现新的错误.我得到错误两次"图片太大,将被截断." 我的文件中没有图片.我正在粘贴格式.

这似乎是Excel"未解之谜"之一.

我在Windows 7上使用MS Office Professional Plus 2010.

我研究了这个,并尝试了以下内容:

  1. 删除了所有%temp%文件
  2. 冉CCleaner
  3. 所有粘贴特殊(格式)后设置CutCopyMode = False
  4. 去添加/删除程序并重新配置Office以阻止剪辑管理器运行.(控制面板\程序\程序和功能 - > MS Office Professional Plus 2010 - >更改 - >添加或删除功能 - > Office共享功能 - >剪辑管理器 - >不可用,等等)
  5. 重新启动

这些都没有帮助,所以我通过注释掉函数和子程序调用,运行程序,保存然后按"x"关闭来缩小问题的根源.我这样做直到找到合适的潜艇.然后我注释掉了sub的所有行,并一次将它们添加回一个逻辑块,直到找到问题区域.这里是:

' *********** APPLY BASIC ROW FORMATTING FROM TEMPLATE ***********
' Copy basic row formatting from template and paste over all rows
wksTemplate.Rows(giHEADER_ROW + 1).Copy
myWS.Rows(lFirstRow & ":" & lLastRow).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Run Code Online (Sandbox Code Playgroud)

粘贴仅包含格式 - 颜色,边框,数字格式,包装等.它可能平均粘贴在200行的范围内.我几个月没有改变这三行代码.为什么现在?

谁有人解开了这个谜团?

谢谢,Shari

Pat*_*ier 0

我有时会遇到和你一样的问题,但我的文件中有很多图片...有时我的速度也变慢(打开/关闭或只是标准计算(弹出菜单...))。通常,当我关闭工作簿并重新打开它时,它会再次正常工作。

我可能有一些答案,不确定是否有任何帮助:你使用全局变量吗?

例如,在模块 1 中:

Option Explicit

Public BigObject as AnyBigSizeType

Sub xxx() 'code following
Run Code Online (Sandbox Code Playgroud)

尽量避免使用全局变量,通常它会很混乱,甚至没有用处。

另外,为了安全起见,请在立即窗口中尝试: activesheet.pictures.delete (甚至 activesheet.shapes.delete ,但这也会删除评论和其他内容......)