柳州做网站制作的公司有哪些,全球十大搜索引擎排名,网线制作公开课,上传下载网站模板背景#xff1a;
1. win10, excel 打开 wps 生成的 xlsx文档#xff1b;
2. 文档中有多余的图形,经检测为shape大类#xff1b;
3. 文档中可见的图形可以全选后删除#xff1b; 但是不可见部分仍然存在#xff1b;
4. vba删除时#xff0c;可以直接循环删除#xff…背景
1. win10, excel 打开 wps 生成的 xlsx文档
2. 文档中有多余的图形,经检测为shape大类
3. 文档中可见的图形可以全选后删除 但是不可见部分仍然存在
4. vba删除时可以直接循环删除类似 shape.delete;
5. vba删除前如果逐一选择(shape.select)以便查看则出现多种错误(vba运行异常)但都是运行时错误
错误记录 1. 类型多样用shape.name查看有以下类别 1comment在visiblefalse情况下错误信息为-2147467259-自动化 (Automation) 错误 2代表picture的长串字母-数字 3host control x在visiblefalse情况下错误信息为-2147024809-请求的图形已被锁定供选择 2. 经检查图形(shapes)中有一部分是不可见的无法选中即不能用shape.select选择 3. 将不可见图形设置为可见后则问题解决
解决思路及代码如下 1. 思路倒循环, 设置为可见删除 2. 代码如下
Public Sub shape_remove() wps xlsx文档用excel打开后有多余的图形(shape)出现而在wps中没有 try to keep previous err file If ActiveSheet.Shapes.Count 0 Then Debug.Print no shapes End End If test only Open ActiveWorkbook.Path \err.txt For Output As #1 main For i ActiveSheet.Shapes.Count To 1 Step -1 Set sp ActiveSheet.Shapes(i) On Error Resume Next sp.Select Print #1, i i, shape name: sp.Name Print #1, shape type name: TypeName(sp) Print #1, visible CBool(sp.Visible) If Err.Number 0 Then Print #1, Err: Err.Number - Err.Description If sp.Visible 0 Then Print #1, i not visible. sp.Visible True Print #1, set to visible i i 1 sp.Select for shape details check End If Else Print #1, selected and deleted Selection.Delete End If On Error GoTo 0 Print #1, Chr(13) Next test only Close #1 End Sub