think-cell utilise la mauvaise couleur de police
Problème
think-cell n'utilise pas la couleur de texte principale définie dans mon modèle PowerPoint.
Solution
Ce problème survient en raison d'un bogue dans PowerPoint. Depuis juillet 2017, Microsoft a résolu le problème dans Office 365 et Office 2016. Office 365 et les éditions Office 2016 Click-to-Run ont été corrigés avec la mise à jour vers la Version 1706 (version 8229.2073). Le correctif pour l’édition basée sur MSI d’Office 2016 a été inclus dans le correctif KB3203481.
Explication et solution provisoire si votre version d'Office n'est pas réparée
think-cell essaie de déterminer la couleur de police correcte selon les couleurs de police fournies par votre modèle PowerPoint. Les versions de PowerPoint contenant un bogue indiquent à think-cell des valeurs incorrectes pour la couleur de police si certains espaces réservés manquent sur la diapositive principale du masque des diapositives. Ce problème est reproductible sans think-cell.
Reproduction de l'erreur sans think-cell
La macro suivante insère une nouvelle diapositive avec une zone de texte affichant les valeurs de couleur de police issues de chaque TextStyleLevel de votre masque de diapositives dans PowerPoint. "TextStyleLevel[1]" affiche la couleur de police principale fournie par PowerPoint.
- Ouvrez un fichier PowerPoint concerné et ouvrez l’éditeur VBA avec Alt + F11.
- Dans l’éditeur VBA, sélectionnez votre présentation et cliquez sur Insérer → Nouveau module
- Collez la macro suivante et fermez l’éditeur VBA.
- Dans la fenêtre de présentation de PowerPoint, appuyez sur Alt+F8 pour ouvrir la fenêtre Macro.
- Sélectionnez Afficher et cliquez sur Lancer
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) '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 " & 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 = "MIXED (should not occur)" & 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
Solution provisoire
Insérez les espaces réservés manquants sur le masque des diapositives de votre présentation PowerPoint :
- Ouvrez le masque des diapositives : PowerPoint → Affichage → Affichage des masques → Masque de diapositives
- Rendez-vous sur la diapositive principale dans les vignettes de la barre latérale
- Dans la plupart des cas, le problème peut être résolu en insérant l'espace réservé de Texte et/ou Titre manquant :
Mise en page du masque → Mise en page du masque → cochez Texte et/ou Titre→ OK - Fermez le masque des diapositives : Fermer → Désactiver le mode Masque
- Insérez un nouveau graphique ou des graphiques existants actualisés, par exemple en les faisant glisser dans une nouvelle position.
Si le problème persiste, répétez ces étapes en cochant l’ensemble des espaces réservés manquants à l’étape 3. Les modèles ou présentations peuvent contenir plus d'un masque de diapositives concerné. Appliquez la solution provisoire à tous les masques.
Il peut être utile d'inclure cette correction dans votre modèle PowerPoint ou de contacter la personne responsable de vos modèles PowerPoint pour mettre à jour votre modèle par défaut.
Si votre société possède un contrat auprès de l’Assistance Microsoft Office et que vous souhaitez que Microsoft corrige également votre version d’Office, veuillez indiquer notre numéro de dossier Microsoft 116080514511540.
Contacter l’assistance
Si think-cell n'utilise toujours pas la couleur de police correcte alors que vous utilisez une version d'Office corrigée ou que vous avez appliqué la solution, veuillez envoyer une diapositive d'exemple à notre équipe d'assistance et nous indiquer la couleur de police souhaitée.