Странный баг на powerpoint vba - PullRequest
1 голос
/ 05 июня 2010

У меня есть текстовое поле «mynote» на слайде. Если я выполню:

Sub test()

            If ActiveWindow.Selection.SlideRange.Shapes("mynote").Visible Then
                MsgBox "ok"
            End If
end sub

Работает.

Но если я прикреплю форму с помощью этого макроса:

Sub test(oShape As Shape)

            If ActiveWindow.Selection.SlideRange.Shapes("mynote").Visible Then
                MsgBox "ok"
            End If
end sub

Не работает (нет сообщения об ошибке, нет сообщения "ок")

1 Ответ

2 голосов
/ 05 июня 2010

Это будет зависеть от того, как вы вызываете его из другой подпрограммы - вы должны отправить в форме. Как:

Sub testYourTest()
    Dim sh As Shape
    Set sh = ActivePresentation.Slides(4).Shapes(1)
    test sh
End Sub

Вы не можете запустить test в автономном режиме, поскольку он ожидает, что вы отправите объект Shape. Но, поскольку ваш oShape объект не используется в вашей подпрограмме test, вы также можете удалить его.

...