2014-02-12 5 views
0

Я только начал изучать программирование в VBA для PowerPoint (около 30 минут назад). Может кто-нибудь помочь мне следующую ?:VBA Macro для Powerpoint для изменения Цвет заметок

Я хочу Macro, что петли через ноты все слайды и изменяет текст на белом

(я знаю, что есть не-макро альтернативы этим, но третий -партийное программное обеспечение (Articulate) требует, чтобы это выполнялось с помощью макроса ... длинный рассказ).

Это то, что я до сих пор:

Sub changenotestowhite() 
    Dim osld As Slide 
    Dim oshp As Shape 
    Dim strNotes As String 
    For Each osld In ActivePresentation.Slides 
     For Each oshp In osld.NotesPage.Shapes 
     oshp.TextFrame.TextRange.Font.Color = vbWhite 
     Next oshp 
    Next osld 
End Sub 

Я получаю сообщение об ошибке «Ошибка времени выполнения: заданное значение выходит за пределы допустимого диапазона.»

Спасибо!

Джо

ответ

0

Добро пожаловать в мир MS/VB Знаменитые Red селедки (ака сообщения об ошибках).

Проблема в том, что некоторые фигуры не имеют текстового фрейма (свойство формы, которое содержит текст), и даже если форма имеет текстовый фрейм, в нем может не быть никакого текста. Попытка изменить текст, которого там нет, или текст в текстовом фрейме, который там нет, вызовет ошибку.

Используйте это вместо того, какие тесты для текстового фрейма и, если присутствует, имеет ли текстовый фрейм текст до изменения текста в любом случае:

Sub changenotestowhite() 
    Dim osld As Slide 
    Dim oshp As Shape 
    Dim strNotes As String 
    For Each osld In ActivePresentation.Slides 
     For Each oshp In osld.NotesPage.Shapes 
     If oshp.HasTextFrame Then 
     If oshp.TextFrame.HasText Then 
     oshp.TextFrame.TextRange.Font.Color = vbWhite 
     End If 
     End If 
     Next oshp 
    Next osld 
End Sub 
+0

Стив. Вы легенда freakin '. Я советую вам посетить ваши каналы в социальных сетях и заявить об этом факте. Люди должны знать. Теперь я вооружен такими знаниями, я собираюсь продолжить и изменить размер текста и выравнивание заметок. Большое вам спасибо; Я навсегда благодарен, Joe –

+0

Joe - ;-) Скромная легенда, возможно. Рад, что это помогло. –

+0

Свойство Font.Color доступно только для чтения. Вместо этого вам нужно будет использовать Font.Color.RGB = RGB (255, 255, 255), для MSDN https://msdn.microsoft.com/en-us/library/office/ff744240.aspx?f=255&MSPPError=- 2147217396. – OfficeAddinDev

Смежные вопросы