ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5106|回复: 12

[求助]文件虚胖杂症求医(空文件也要2MB)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-3-24 05:29 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

附件中的文件原来只有50K左右,几次储存以后现在变成2MB了,打开保存,运行VBA都很慢。 现在把原文件中的函数,格式,VBA代码全部删除了,(也就是个空白文档了)再保存还是2MB.

经过F5定位检查没找到对象或条件格式单元格。

烦请哪位高人给号号脉,诊断一下这又是什么疑难杂症。

原来贴在基本应用板块,2个星期了没人回答,希望在VBA版能遇到高人。

UPK3JclD.rar (122.96 KB, 下载次数: 30)
[此贴子已经被作者于2008-3-24 5:38:47编辑过]

TA的精华主题

TA的得分主题

发表于 2008-3-24 07:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

参见下帖

http://club.excelhome.net/viewthread.php?tid=116418

发贴心情

[分享]EXCEL文件肥胖的的原因分析及减肥

TA的精华主题

TA的得分主题

发表于 2008-3-24 13:57 | 显示全部楼层
不清楚原因,但是用Wps表格打开后再保存就可以解决这个问题了

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-3-25 04:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

谢谢2楼的回答,这篇文章我原来也看到过。但是其中的1-7都不是我的问题所在

 

一、工作表中有大量的细小图片对象造成文件增大 (见一楼已用F5定位排除过)

二、工作表中在很大的范围内设置了单元格的格式或者条件格式(整张表已经进行过格式删除)

三、为很大的区域设置了数据有效性(所有单元格为默认格式)

四、公式复杂,公式很长(无单元格有公式)

五、EXCEL本身的BUG所致(行高不为20)

六、工作表背景造成的文件增大(无背景)

七、工作表中插入的图片格式影响文件的大小(无插入格式)

 

不知还有没其他什么可能?另外,我是不是把这个问题贴到那个帖子去闻比较好?

TA的精华主题

TA的得分主题

发表于 2008-3-25 07:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

确实很怪。

LZ的附件真的有2M的容量

我也碰到过给用宏给工作表加密(保护)后还能编辑的,鼠标右键是保护下的状态。

而我想取消工作表保护又要密码才行。

见鬼了。最后我就整个重新做了。

LZ的另存为也不行。最后是新建一个工作表,删除原来的工作表保存就体积就小了,我发现打开后又运算(速度好慢)的现象。不明白。

[em06][em06]

TA的精华主题

TA的得分主题

发表于 2008-3-25 08:56 | 显示全部楼层

一个使用了12年的文件,其肥大程度可想而知。把有用的数据copy到新文件重新开始吧,或新建一个工作表,把旧表删除也有相当大的帮助。

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-3-27 06:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

没有12年,这个文件是2007年9月份左右建立的,属性里的信息有时候是跟系统时间的所以不一定准。

"把旧表删除也有相当大的帮助。"
这个方法是管用的,这几个月来我一直都是这么做的,但是因为文件增大速度太快,所以要不了2个星期又会变得很大,又要重做,所以这次下定决心找到病根。

提供2条线索

这个文件里有如下一段VBA程序,该程序被另外一个时间控制程序控制每10秒钟运行一次,已publish的方式把工作表"Eqy_Data"里的内容写入C:\Eqy_Data.htm。文件的不断增大应该和这个publish的程序有关,且增大速度非常快,几乎每分钟都能多出几K。所以我平时若没做修改的话都是用完直接关掉不储存的。

另一个线索是,工作表"Eqy_Data"里被删掉的公式都是第3方DDE公式,用来和一个股票报价软件沟通显示实时价格,不知道DDE和PublishObjects.Add一起用会不会造成文件越来越大。

Sub Publish()
Sheets("Eqy_Data").Activate
'Publish web page
    Dim objPub As Excel.PublishObject
    strFileName = "C:\Eqy_Data.htm"
    strSheetName = "Eqy_Data"
    Set objPub = ThisWorkbook.PublishObjects.Add( _
    SourceType:=xlSourceSheet, _
    Filename:=strFileName, Sheet:=strSheetName, _
    HtmlType:=xlHtmlStatic)
    objPub.Publish True
End sub

TA的精华主题

TA的得分主题

发表于 2008-3-27 07:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

你是否发现你的文件中

行号列标采用了黑体而非缺省的宋体。

行高列宽也是非缺省值。

[此贴子已经被作者于2008-3-27 8:47:47编辑过]

TA的精华主题

TA的得分主题

发表于 2008-3-27 10:24 | 显示全部楼层
建立sheet的副本,删除原来的试试

TA的精华主题

TA的得分主题

发表于 2008-3-27 11:10 | 显示全部楼层

的确跟PublishObject有关:用下面的代码删除所有插入的PublishObject对象后,文件剩余体积不到30K,属于正常了

Sub tt()
Dim pb As PublishObject
For Each pb In ThisWorkbook.PublishObjects
    pb.Delete
Next
End Sub
所以不建议每次插入新的PublishObject对象并进行保存,也可以获取已经插入的对象,设置新的属性就可以了

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 09:38 , Processed in 0.052665 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表