scape编译错误vba

时间:2014-07-30 10:53:36

标签: vba compiler-errors powerpoint-vba

我正在创建一个应该与Office 2007兼容的vba代码。但问题是我在Office 2007中遇到了编译错误:

       For j = 1 To vNum
            If sh.name = videoN(j).name Then
                If sh.MediaFormat.VideoCompressionType = videoN(j).MediaFormat.VideoCompressionType Then
                    videoNumber = j
                    Exit For
                End If
            End If
        Next j
        If videoNumber = 0 Then
            vNum = vNum + 1
            videoNam = "media" & vNum
            Set videoN(vNum) = sh
        Else
            videoNam = "media" & videoNumber
        End If
        If curPresentation.SlideShowSettings.ShowMediaControls Then
            control = "true"
        Else
            control = "false"
        End If

编译错误发生在这一行:

If sh.MediaFormat.VideoCompressionType = videoN(j).MediaFormat.VideoCompressionType Then

If curPresentation.SlideShowSettings.ShowMediaControls Then 

在2007年的办公室里,这些选项并不存在,这就是为什么它给我的错误,但对于2010年和2013年的办公室,我需要有这些选项。有没有办法来解决这个编译错误?

我可以使用if语句让它只在版本高于office 2007时进入那些行,但是当它进入这个模块时它仍然会给出编译错误。

1 个答案:

答案 0 :(得分:0)

将它们变暗为对象并使用

 set obj = createobject("blah")

请参阅今天早些时候的帖子。

VB6 program fails opening Excel 2007 with Automation Error Library not registered