单个宏运行未检测到嵌入式文件

时间:2018-10-21 14:53:36

标签: excel vba powerpoint object-detection

脚本的想法是将嵌入式文件转换为其图像,然后将其粘贴到嵌入式文件上,然后删除嵌入式文件(下面的代码)。这是在vba powerpoint中完成的。当我在幻灯片中嵌入方程式和图像时出现问题。脚本首次运行时,会在幻灯片中检测出3个嵌入式方程式中的2个和3个嵌入式图像中的1个,并将其转换为图像。第二次运行脚本会检测到剩下的一个方程式,然后第三次运行脚本时会检测到剩余的图像。因此,在脚本运行中检测到6个嵌入项3次。知道问题出在哪里。

exemplo6

1 个答案:

答案 0 :(得分:0)

替换此:

      For Each oSh In oSl.Shapes
    Select Case oSh.Type
        Case msoChart, msoEmbeddedOLEObject, msoLinkedOLEObject
            ConvertShapeToPic oSh
            k = 1
        Case Else

    End Select
Next

与此:

  ' Add Dim x as Long to the top of the routine
  For x = oSl.Shapes.Count to 1 Step -1
  Set oSh = oSl.Shapes(x)
Select Case oSh.Type
    Case msoChart, msoEmbeddedOLEObject, msoLinkedOLEObject
        ConvertShapeToPic oSh
        k = 1
    Case Else

End Select

下一步