为包含图形对象的MS Excel文档巧妙瘦身
4659 点击·0 回帖
![]() | ![]() | |
![]() | 工作表中如果存在大量的细小图形对象,那么文件体积就可能在用户毫不知情的情况下暴增,这是一种很常见的“Excel 肥胖症”。可以使用下面两种方法来检查Excel 工作表是否存在这种症状。 (1)在工作表中按键调出“定位”对话框(快捷键 Ctrl+G),单击“定位条件”按钮,在“定位条件”对话框中选择“对象”项,单击“确定”,如图1 所示。然后观察工作表上是否会显示很多被选定的对象。如果工作簿中包含多个工作表,需要在每个工作表中用这种方法进行查找。 ![]() 图:选择“批注” 注意:隐藏列或行中的对象利用这种方法无法被看到。 (2)用VBA 对工作簿中的对象进行计数,查看在每个工作表中实际存在的对象数量,如果此数量不合理,就说明有问题。 ![]() 图:选择“模块” 按Alt+F11,打开VBA编辑器,单击菜单“插入”→“模块”来插入一个新模块,默认情况下为“模块1”,然后在模块1 的代码窗口中输入以下代码: Sub CountShapes() Dim n As Double Dim ws As Worksheet Dim Content As String For Each ws In Worksheets n = ws.Shapes.Count Content = Content ; "工作表" ; ws.Name ; " 有" ; n ; " 个对象" ; vbCrLf Next MsgBox Content End Sub 最后,按F5 键来运行这段代码,就能看到检查结果。在看似空白的工作表中,存在着大量的图形对象,如图 所示。 ![]() 图:检查结果 | |
![]() | ![]() |