Excel PowerPoint VBA更改图表中选定项目的字体颜色
我知道这听起来很简单,但我在网站上和这个网站上都没有找到任何解决方案 因此,我在Excel中有一个宏,可以更改任何选定项目的字体颜色-范围、图表、文本框等,代码非常简单:Excel PowerPoint VBA更改图表中选定项目的字体颜色,excel,vba,powerpoint,Excel,Vba,Powerpoint,我知道这听起来很简单,但我在网站上和这个网站上都没有找到任何解决方案 因此,我在Excel中有一个宏,可以更改任何选定项目的字体颜色-范围、图表、文本框等,代码非常简单: Selection.Font.Color = RGB(0,0,0) 但在PowerPoint中,Excel中没有选择通配符。在PowerPoint中,这对文本框很有效- ActiveWindow.Selection.TextRange.Font.Color = RGB(0,0,0) 但它不适用于图表和表格。所以,对于图表,
Selection.Font.Color = RGB(0,0,0)
但在PowerPoint中,Excel中没有选择通配符。在PowerPoint中,这对文本框很有效-
ActiveWindow.Selection.TextRange.Font.Color = RGB(0,0,0)
但它不适用于图表和表格。所以,对于图表,我使用这个代码-
ActiveWindow.Selection.ShapeRange(1).Chart.ChartArea.Format.TextFrame2.TextRange.Font.Fill.ForeColor.RGB RGB(0,0,0)
问题是它会更改图表中的所有文本-标题、标签、轴等,我只需要更改所选项目的字体颜色。例如,仅显示标题或标签,具体取决于用户决定选择的内容
我不知道如何区分图表中选择的项目,以便只对其应用更改。比如说-
.ChartTitle.Format.Fill.ForeColor.RGB, etc.
是否有办法确定所选项目?还是仅对其应用更改?谢谢。由于基本问题是为客户提供更多颜色,同时避免他们输入RGB值,因此我认为您可能需要评估最简单、最灵活的方法。
对于主题颜色以外的颜色选项,向文件中添加自定义颜色是更好的方法。我会删除所有基于VBA选择的格式。这篇文章强调PowerPoint,但自定义颜色也可以在Word和Excel中使用:你们非常接近。您可以访问其他图表项,例如.ChartTitle,而不是.ChartArea 本例循环浏览幻灯片上的所有形状,包括一些额外的检查以防止错误。如果形状有图表,图表有标题,标题有文本,请指定图表标题字体的颜色
Sub FontColor_ChartTitle()
With ActivePresentation.Slides(1)
'Loop through all shapes on the slide
For i = 1 To .Shapes.Count
With .Shapes(i)
'If the shape is a chart
If .HasChart Then
'If the chart has a title
If .Chart.HasTitle Then
With .Chart.ChartTitle.Format.TextFrame2
'If the title contains text
If .HasText Then
With .TextRange.Font
.Fill.ForeColor.RGB = RGB(95, 37, 97)
End With
End If
End With
End If
End If
End With
Next
End With
End Sub
不幸的是,您的问题的简单答案是否定的。PPT对象模型无法在图表中返回所选项目
John Korchok的建议应该允许您向用户提供所需的颜色供其选择。主要用途是为企业品牌提供颜色选项。由于有几个变体,主题颜色是不够的。因此,在Excel中,我为每种颜色设置了按钮,用户可以决定他/她想要的颜色。它很好用。但在PowerPoint中我找不到方法…谢谢你的回答。但是,是否有方法将代码应用于所选项目?有时可能是标题,而另一些可能是标签。我不想将字体颜色始终应用于同一项目,而只应用于用户选择的项目。@manu197a能否提供颜色按钮的示例?在Excel示例中,用户是否选择表的一部分,然后单击其中一个按钮?该按钮是启动颜色选择器还是静态颜色?另外,您能否告诉我是否使用了双监视器,以及这是否将是一个主模板文件,用户将从中复制文件以自定义以供使用?因此,按钮是静态颜色-例如,我有绿色和蓝色按钮。每个都是我的功能区中的一个按钮。当用户按下按钮时,任何选定的文本都会按照代码中定义的特定RGB着色。在Excel中,这就像一行一样简单:Selection.Font.Color=RGB0,0,0功能区不是用户更改颜色的模板,而是帮助用户仅使用这些颜色,因为当我们使用任何其他颜色时,公司非常不容忍John,感谢您的建议。我将尝试这个选项,因为它似乎是最方便的一个。但我公司的用户对Office一无所知,我怀疑他们是否能够下载主题文件,打开PP,选择它并使用颜色——这就是为什么我们需要这个功能区,让他们只需按下一个按钮就可以得到正确的颜色。因此,我将尝试想出一个代码,从头创建我自己的主题文件,将其保存到光盘,选择它,并告诉用户现在可以使用主题颜色。我会随时通知你。你的VBA代码的用户来源是什么?如果是启用宏的演示文稿或模板,您可以向其添加自定义颜色。VBA和自定义颜色的分布问题是相同的。此外,许多公司能够在Windows下使用组策略向他们需要的用户推出文件。你的IT部门会知道更多。