KB0206: thinkcell verwendet die falsche Schriftfarbe

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.

  1. Öffnen Sie eine betroffene PowerPoint-Datei und öffnen Sie den VBA-Editor mit Alt + F11
  2. Wählen Sie im VBA-Editor Ihre Präsentation aus und klicken Sie auf Insert > New module
  3. Fügen Sie das folgende Makro ein und schließen Sie den VBA-Editor
  4. Drücken Sie im PowerPoint-Präsentationsfenster Alt + F8, um das Fenster Macro zu öffnen
  5. 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:

  1. Öffnen Sie den Folienmaster: PowerPoint > View > Master Views > Slide Master
  2. Gehen Sie in der Miniaturansichten-Seitenleiste zur Folie der obersten Ebene
  3. 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
  4. Schließen Sie den Folienmaster: Close > Close Master View
  5. 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.