影视墙效果图大全
自动批量删除EXCEL自定义样式
海昏侯墓博物馆我的EXCEL 工作簿的格式常常被莫名其妙的改动,有时候都变成日期样式,有时候甚至是会计专用样式,我的工作除了发工资的时候和会计八杆子打不到,让人不胜其烦。更麻烦的是想做些什么的时候总是弹出“不同的单元格格式太多”。在忍无可忍的情况下,决定一探究竟。
通过在网络上不断的搜索学习,终于定位在EXCEL 的自定义样式上。不知道最初的母文档来自何处,里面充满了海量的垃圾样式,试图在EXCEL UI手工删除,但半个小时的机械操作后,垃圾样式还是多得数不清,不得不放弃手工的方法,去寻求自动处理,这才是程序员应该做的。
继续在网络上搜索学习,感谢无私贡献者,方案渐渐清晰,可以用VBA 来解决。代码也有了,操作方法也有了,不过网上的方案在具体实现中遇到了问题:t的大写
1.代码运行时间超长,跟EXCEL 死掉了一样,让人没有耐心等待。
贵州旅游线路2.在执行删除操作时总是失败!“类 Style 的 Delete 方法无效”。(见图1)
学生用英语怎么说在最终解决后,发现运行时间长的原因是垃圾样式实在太多,我的一个文档有3万多个,确实需要时间,也庆幸当初没有继续手工删除。删除失败不是代码的问题,VB 提示的太模糊,而是由于自定义样式不知道什么原因(一直没找到原因,有知道的麻烦告诉我:),变成了所谓的僵尸样式,
用不了也删除不了,删除函数返回失败,被VB解释为“方法无效”。对于僵尸样式目前还没有找到通用的解决方法,从网上学来的方法在我的不同文档中表现不同,有的合适,有的反而适得其反。
达飞总的来说最后成功删除绝大多数自定义样式,而且意外的是文件大小缩水达到65%左右,打开速度大大提高。这也是促成我写这篇文章分享的主要原因,积少成多能省多少空间和流量!
图 1
下面我就一步步的来说明如何运行VBA 来自动删除海量的自定义样式。使用的代码和指导都来自网络,我只不过是把它们整合在一起,使之能很好的工作在我的 EXCEL 2007并加了一些注释和图片以方便理解。
laughs
1:让宏能运行
宏是自动运行的基础,需要在EXCEL 中打开。EXCEL 2007 中宏的开关路径如下:
点击左上角的“Office 按钮“ -> 点击打开界面右下角的”EXCEL 选项“(见图2)-> 点击左侧下方的”信任中心“(图3)-> 点击”信任中心“界面右下角的”信任中心设置“(图4)->在信任中心设置界面点击左侧的”宏设置“(图5)-> 继续在”宏设置“中勾选”启用宏….“和”信任VBA….“,然后一路确定返回。有巢氏
图 2:EXCEL 选项
图 3:信任中心
图 4:信任中心设置