我正在创建一个应该与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时进入那些行,但是当它进入这个模块时它仍然会给出编译错误。
答案 0 :(得分:0)
将它们变暗为对象并使用
set obj = createobject("blah")
请参阅今天早些时候的帖子。
VB6 program fails opening Excel 2007 with Automation Error Library not registered