KB0206: thinkcell verwendet die falsche Schriftfarbe
- Startseite
- Ressourcen
- Knowledge Base
- KB0206
Problem
thinkcell verwendet nicht die in meiner PowerPoint-Vorlage definierte Haupttextfarbe.
Lösung
Das Problem wurde durch einen Fehler in PowerPoint verursacht. Im Juli 2017 hat Microsoft das Problem in Office 365 und Office 2016 behoben. Office 365 und die Office 2016 Click-to-Run-Editionen erhielten den Fix mit dem Update auf Version 1706 (Build 8229.2073). Der Fix für die MSI-basierte Edition von Office 2016 war in KB3203481 enthalten.
Erklärung und Workaround, falls Ihre Office-Version nicht behoben ist
thinkcell versucht, die richtige Schriftfarbe anhand der Schriftfarben zu ermitteln, die Ihre PowerPoint-Vorlage bereitstellt. PowerPoint-Versionen mit diesem Fehler melden thinkcell falsche Werte für die Schriftfarbe, wenn auf der obersten Ebene des Folienmasters einige Platzhalter fehlen. Dieses Problem lässt sich ohne thinkcell reproduzieren. Mehr lesen
Reproduktion ohne thinkcell
Das folgende Makro fügt eine neue Folie mit einem Textfeld ein, das die resultierenden Schriftfarbwerte für jede TextStyleLevel des Folienmasters Ihrer PowerPoint-Präsentation anzeigt. "TextStyleLevel[1]" zeigt die von PowerPoint bereitgestellte Hauptschriftfarbe an.
- Öffnen Sie eine betroffene PowerPoint-Datei und öffnen Sie den VBA-Editor mit Alt + F11
- Wählen Sie im VBA-Editor Ihre Präsentation aus und klicken Sie auf Insert > New module
- Fügen Sie das folgende Makro ein und schließen Sie den VBA-Editor
- Drücken Sie im PowerPoint-Präsentationsfenster Alt + F8, um das Fenster Macro zu öffnen
- Wählen Sie Demonstrate aus und klicken Sie auf Run
Function AppendToTextRange(txtfrm2 As PowerPoint.TextFrame2) As Office.TextRange2
Set AppendToTextRange = _
txtfrm2.TextRange.Characters(txtfrm2.TextRange.Length + 1, 0)
End Function
Sub Demonstrate()
Dim pres As PowerPoint.Presentation
Set pres = ActivePresentation
Dim sld As PowerPoint.Slide
Set sld = pres.Slides.Add(pres.Slides.Count + 1, PowerPoint.ppLayoutBlank)
sld.Select
Dim mstr As PowerPoint.Master
Set mstr = sld.Design.SlideMaster
Dim shp As PowerPoint.Shape
Set shp = sld.Shapes.AddShape(Office.msoShapeRectangle, 50, 50, _
pres.PageSetup.SlideWidth / 2 - 50, pres.PageSetup.SlideHeight - 100)
shp.Fill.ForeColor.RGB = RGB(255, 255, 122) 'hellgelber Hintergrund
Dim txtfrm2 As PowerPoint.TextFrame2
Set txtfrm2 = shp.TextFrame2
Dim txtrng2 As Office.TextRange2
Dim i As Integer
i = 1
Dim txtlvl As PowerPoint.TextStyleLevel
For Each txtlvl In mstr.TextStyles(PowerPoint.ppBodyStyle).Levels
Set txtrng2 = AppendToTextRange(txtfrm2)
txtrng2.Text = "TextStyleLevel[" & i & "] hat die Farbe " & vbCr
txtrng2.Font.Fill.Solid
txtrng2.Font.Fill.ForeColor.ObjectThemeColor = Office.msoThemeColorText1
Set txtrng2 = AppendToTextRange(txtfrm2)
Dim col As PowerPoint.ColorFormat
Set col = txtlvl.Font.Color
If PowerPoint.ppSchemeColorMixed = col.Type Then
txtrng2.Text = "GEMISCHT (sollte nicht vorkommen)" & vbCr & vbCr
Else
If Office.msoNotThemeColor = col.ObjectThemeColor Then
Dim nRgb As Long
nRgb = col.RGB()
txtrng2.Text = "RGB: " & (nRgb Mod 256) & "/" & ((nRgb \ 256) _
Mod 256) & "/" & (nRgb \ 256 \ 256) & vbCr & vbCr
txtrng2.Font.Fill.ForeColor.RGB = nRgb
Else
txtrng2.Text = "ObjectThemeColor: " & col.ObjectThemeColor _
& vbCr & vbCr
txtrng2.Font.Fill.ForeColor.ObjectThemeColor = col.ObjectThemeColor
End If
End If
i = i + 1
Next txtlvl
End Sub
Workaround
Fügen Sie fehlende Platzhalter auf dem Folienmaster Ihrer PowerPoint-Präsentation ein:
- Öffnen Sie den Folienmaster: PowerPoint > View > Master Views > Slide Master
- Gehen Sie in der Miniaturansichten-Seitenleiste zur Folie der obersten Ebene
- In den meisten Fällen lässt sich das Problem beheben, indem Sie den fehlenden Platzhalter Text und/oder Title einfügen:
Master Layout > Master Layout > aktivieren Sie Text und/oder Title> OK - Schließen Sie den Folienmaster: Close > Close Master View
- Fügen Sie ein neues Diagramm ein oder aktualisieren Sie vorhandene Diagramme, z. B. indem Sie sie an eine neue Position ziehen
Wenn das Problem danach weiterhin auftritt, wiederholen Sie diese Schritte bitte, aktivieren Sie in Schritt 3 jedoch alle fehlenden Platzhalter. Vorlagen oder Präsentationen können mehr als einen betroffenen Folienmaster enthalten; wenden Sie den Workaround auf alle an.
Sie können diesen Workaround in Ihre PowerPoint-Vorlage aufnehmen oder die für Ihre PowerPoint-Vorlagen verantwortliche Person bitten, Ihre Standardvorlage zu aktualisieren.
Wenn Ihr Unternehmen einen Microsoft Office Support-Vertrag hat und Sie Microsoft bitten möchten, auch Ihre Office-Version zu beheben, verweisen Sie bitte auf unsere Microsoft-Fallnummer 116080514511540.
Support kontaktieren
Wenn thinkcell die richtige Schriftfarbe weiterhin nicht verwendet, obwohl Sie eine behobene Office-Version verwenden oder den Workaround angewendet haben, senden Sie bitte eine Beispielfolie an unser Support-Team und teilen Sie uns Ihre bevorzugte Schriftfarbe mit.