2016-10-02 6 views
0

Я очень новичок в vba (только начался только вчера), но хотел бы использовать код, чтобы сэкономить время с заполнением форм в powerpoint. Я до сих пор понял, как создать поле ввода с итоговым текстовым полем и изменить цвет шрифта, если вводится только одно слово и является совпадением. Это, однако, не полностью соответствует моим потребностям.Как изменить цвет определенного слова (ов) из окна ввода vba powerpoint vba beginner

Для моих целей конвенция ввода пользователя будет «Word1-Word2-Word3-Word4-Word5». Например, «Красный-Желтый-Оранжевый-Зеленый-Синий». Я бы хотел, чтобы красный цвет стал красным, желтым - желтым, оранжевым - оранжевым, и так далее. Черточки будут черными. Вход может быть в любом порядке, и не все части могут присутствовать (например, «Желтый-Красный-Зеленый-Синий-Оранжевый» или «Красный-Синий-Зеленый» может произойти), но цветовая кодировка должна быть сохранена.

<here is where I should put my current code that doesn't exactly fit my needs> 

Может ли кто-нибудь помочь мне с этим?

+1

Это не служба написания кода. Что вы пробовали до сих пор? Отправьте свой код! Что случилось, когда вы его запустили? Что вы ожидали вместо этого? С чем конкретно вы сталкиваетесь? – Robert

+0

Покажите нам свой код! –

+0

Пожалуйста, прочитайте http://stackoverflow.com/help/how-to-ask, прежде чем задавать свой следующий вопрос. –

ответ

0

Как указано, мы не являемся службами написания кода. Но как только вы предоставили базовый код, вы все равно столкнетесь с некоторыми странностями в том, как PPT обрабатывает текст. Так что давайте коротко отвлечемся от этого.

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

Sub Example() 
' This looks for the word "red" in the currently selected 
' shape's text and if found, turns it red. 

    Dim oSh As Shape 
    Dim oRng As TextRange 

    ' Get a reference to the currently selected shape 
    ' For what you're doing, you'd need slightly different code 
    Set oSh = ActiveWindow.Selection.ShapeRange(1) 

    ' Get a reference to the text range that contains the word "red" 
    Set oRng = oSh.TextFrame.TextRange.Find("red") 

    ' Change the color of the text range containing the word "red" 
    ' RealWorld Notes: 
    ' Test to see if oRng Is Nothing ... which it'll be if there's 
    ' no word "red" in the string 
    ' You'll need to deal with capitalization: "red" vs "Red" etc.   
    oRng.Font.Color.RGB = RGB(255, 0, 0) 

End Sub 

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

  • Нет связанных вопросов^_^