Knowledge base KB0206

think-cell está usando un color de fuente incorrecto

Problema

think-cell no utiliza el color de texto principal definido en mi plantilla de PowerPoint.

Solución

El problema lo ha generado un error en PowerPoint. En julio de 2017, Microsoft corrigió el problema en Office 365 y Office 2016. Las ediciones de Hacer clic y ejecutar de Office 365 y Office 2016 incluyeron la corrección con la actualización a la versión 1706 (compilación 8229.2073). La corrección para la edición de Office 2016 basada en MSI se incluyó en el artículo KB3203481.

Explicación y solución alternativa si su versión de Office no está corregida

think-cell intenta determinar el color de fuente correcto basándose en los colores de fuentes de las plantillas de PowerPoint. Las versiones de PowerPoint que contienen el error indican a think-cell valores incorrectos para el color de fuente si faltan algunos de los marcadores de posición en la diapositiva de nivel superior del patrón de diapositivas. El problema se puede reproducir sin think-cell.

Reproducción sin think-cell

La siguiente macro introduce una nueva diapositiva con un cuadro de texto que muestra los valores de color de fuente resultantes para cada TextStyleLevel de su patrón de diapositivas de PowerPoint. "TextStyleLevel[1]" muestra el color de fuente principal proporcionado por PowerPoint.

  1. Abra un archivo PowerPoint afectado y, después, el editor de VBA con Alt + F11.
  2. En el editor de VBA, seleccione su presentación y haga clic en InsertarNuevo módulo
  3. Pegue la siguiente macro y cierre el editor de VBA
  4. En la ventana de presentaciones de PowerPoint, pulse Alt + F8 para abrir la ventana Macro.
  5. Seleccione Mostrar y haga clic en Ejecutar
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.Master
    
    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) 'light yellow backgound

    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 & "] has color " & vbCrLf
        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 = "MIXED (should not occur)" & vbCrLf & vbCrLf
        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) & vbCrLf & vbCrLf
                txtrng2.Font.Fill.ForeColor.RGB = nRgb
            Else
                txtrng2.Text = "ObjectThemeColor: " & col.ObjectThemeColor _
                & vbCrLf & vbCrLf
                txtrng2.Font.Fill.ForeColor.ObjectThemeColor = col.ObjectThemeColor
            End If
        End If
        i = i + 1
    Next txtlvl
End Sub

Solución alternativa

Introduzca los marcadores de posición que faltan en el patrón de diapositivas de su presentación de PowerPoint:

  1. Abra el patrón de diapositivas: PowerPoint → VistaVistas PatrónPatrón de diapositivas
  2. Vaya a la diapositiva de nivel superior en la barra lateral de miniaturas
  3. En la mayoría de casos, el problema se puede resolver insertando el marcador de posición de texto o título que falta:
    Diseño del patrónDiseño del patrón → marque la opción Texto o TítuloAceptar
  4. Cierre el patrón de diapositivas: CerrarCerrar vista Patrón
  5. Introduzca un gráfico nuevo o actualice un gráfico existente arrastrándolos a la posición nueva

Si sigue experimentando el mismo problema, repita estos pasos, pero, en el paso 3, marque todos los marcadores de posición que faltan. Las plantillas o las presentaciones pueden contener más de un patrón de diapositivas afectado; aplique la solución alternativa a todos ellos.

Puede que le interese incluir esta solución alternativa en su Plantilla de PowerPoint o ponerse en contacto con la persona responsable de sus plantillas de PowerPoint para actualizar su plantilla predeterminada.

Si su empresa tiene un contrato de soporte técnico de Microsoft Office y desea ponerse en contacto con Microsoft para corregir su versión de Office, indique nuestro número de caso de Microsoft 116080514511540.

Póngase en contacto con el soporte técnico

En caso de que think-cell siga sin utilizar el color de fuente correcto a pesar de utilizar una versión de Office con el error corregido o haber aplicado la solución alternativa, envíe una diapositiva como ejemplo a nuestro equipo de soporte técnico e indique el color de fuente que desea utilizar.