2016-10-02 4 views
0

Ich bin sehr neu zu VBA (erst gestern gestartet), aber möchte Code verwenden, um etwas Zeit mit dem Ausfüllen von Formularen in Powerpoint zu sparen. Ich habe bisher herausgefunden, wie man ein Eingabefeld mit dem resultierenden Textfeld erzeugt und die Schriftfarbe ändert, wenn nur ein einziges Wort eingegeben wird und eine Übereinstimmung besteht. Dies passt jedoch nicht vollständig zu meinen Bedürfnissen.Wie Farbe eines bestimmten Wortes (s) von Eingabefeld ändern VBA Powerpoint VBA Anfänger

Für meine Zwecke wäre die Benutzereingabekonvention "Word1-Word2-Word3-Word4-Word5". Zum Beispiel "Rot-Gelb-Orange-Grün-Blau". Ich möchte, dass Rot rot wird, gelb wird gelb, orange wird orange und so weiter. Striche würden schwarz bleiben. Die Eingabe könnte in einer beliebigen Reihenfolge erfolgen und nicht alle Teile könnten vorhanden sein (dh. "Gelb-Rot-Grün-Blau-Orange" oder "Rot-Blau-Grün" könnte passieren), aber die Farbcodierung muss beibehalten werden.

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

Könnte mir jemand dabei helfen?

+1

Dies ist kein Code-Schreibdienst. Was hast du bisher versucht? Sende deinen Code! Was ist passiert, als du es ausgeführt hast? Was haben Sie stattdessen erwartet? Mit was genau hast du Probleme? – Robert

+0

Zeigen Sie uns Ihren Code! –

+0

Bitte lesen Sie http://stackoverflow.com/help/how-to-ask, bevor Sie Ihre nächste Frage stellen. –

Antwort

0

Wie bereits erwähnt, sind wir kein Code-Schreibdienst. Aber sobald Sie den grundlegenden Code zur Verfügung gestellt haben, würden Sie wahrscheinlich noch auf einige der Besonderheiten stoßen, wie PPT Text verarbeitet. Lasst uns etwas davon kurz machen.

Angenommen, Sie nehmen die vom Benutzer angegebene Textzeichenfolge und fügen sie einem Textfeld auf einer Folie hinzu. Im folgenden Beispiel wird davon ausgegangen, dass das Textfeld ausgewählt ist. Ihr Code muss ein neues Textfeld einfügen und eine Referenz darauf in einer Variablen erhalten (in diesem Fall 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 
Verwandte Themen