Gibt es eigentlich Medizin gegen Ohrwürmer? – Ja. Griechischer Wein.
Lieber René,
nach langer Zeit melde ich mich mal wieder mit einem kleinen Rätsel bzw. mit so einem kleinen „Bin ich doof?“-Moment. Es geht um die Schriftfarbe in PowerPoint
Das erste Problemchen war, dass ich daran gescheitert bin, mittels .TextFrame.TextRange.Font.Color.RGB die Schriftfarbe eines (bzw. natürlich mehrerer) Textfelder auszulesen – es wurde immer der anscheinend unsinnige Wert –2147483648 ausgegeben.
Farbenblind? Naja, irgendwie war das schon aber richtig (Beispielfolie im Anhang) – sieht grün aus.
Ich tippe in das Textfeld und klicke unter Start à Gruppe „Schriftart“ à Schriftfarbe à weitere Farben à Benutzerdefiniert und schaue mir den RGB-Code an: (0, 176, 80). Soweit so gut.
So, jetzt klicke ich aber auf den Rahmen des Textfeldes, da erscheint auch eine schöne Schaltfläche, die „Schriftfarbe“ heißt:
Hier ist jetzt ein RGB Wert von (0,0,0) zu sehen:
Ich würde jetzt mal spekulieren, dass dieses schwarz auch hinter der Ausgabe von –2147483648 steckt, die .TextFrame.TextRange.Font.Color.RGB ausspuckt.
Ist das normal, dass die eine Schriftfarbe nichts mehr der anderen zu tun hat? Ich bin verwirrt.
Viele Grüße, Dominic
###
Hi Dominic,
hübsch! Ich erkläre in PP-Schulungen immer, dass es drei Status bei Objekten gibt: entweder du bist „drauf“ (hast das Objekt markiert), oder „drin“ (im Text, in der Tabelle, im Diagramm, …) oder gar nicht markiert – also auf der Folie.
Richtig: wenn du den Rahmen markierst, ist die Schriftfarbe schwarz:
Wenn du dagegen IN dem Text bist, ist die Schriftfarbe „dein“ Grün:
Das heißt: du darfst nicht die Farbe des Rahmens auslesen (schreiben schon, bspw.: ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Font.Color = RGB(255, 0, 0) ), sondern eines Zeichens:
MsgBox ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Characters(1).Font.Color
Liebe Grüße
Rene
###
Guten Morgen René,
jaaa…. „.characters(1)“ hat gefehlt – jetzt klappt alles, wie es sollte.
Vielen Dank für diese Lösung.
Viele Grüße, Dominic