在PPT VBA中使用强调色而不是RGB值

在PPT VBA中使用强调色而不是RGB值,vba,powerpoint,Vba,Powerpoint,我发现这段代码将当前幻灯片布局的标题格式应用于ppt的所有幻灯片,但是有没有办法将重音颜色而不是RGB值设置为标题字体。ObjectThemeColor或.SchemeColor在此实例中不起作用。 可以获取RGB值,但不能获取SchemeColor,此时ocust值变为null SchemeColor是您所追求的。“在这种情况下不起作用”没有告诉我们任何事情,请描述任何错误消息或您得到的任何意外结果。以下是使用强调色的语法: ActivePresentation.Slides(1).Shap

我发现这段代码将当前幻灯片布局的标题格式应用于ppt的所有幻灯片,但是有没有办法将重音颜色而不是RGB值设置为标题字体。ObjectThemeColor或.SchemeColor在此实例中不起作用。 可以获取RGB值,但不能获取SchemeColor,此时ocust值变为null


SchemeColor是您所追求的。“在这种情况下不起作用”没有告诉我们任何事情,请描述任何错误消息或您得到的任何意外结果。以下是使用强调色的语法:

ActivePresentation.Slides(1).Shapes(1).Fill.ForeColor.SchemeColor = ppAccent1
以下是Microsoft参考页,其中显示了可用于访问其他主题颜色的参数:

修订: 要获取方案颜色,请使用以下语法:

MsgBox ActivePresentation.Slides(1).Shapes(1).TextFrame2.TextRange.Font.Fill.ForeColor.SchemeColor

嗨,John,在原始帖子中添加了错误截图和详细信息。我可以将ppAccent1分配给schemecolor,但根据我的代码,无法从另一个形状中获取值。这不是您的帖子最初所说的。在您现有的代码中,甚至没有任何内容试图从对象中获取schemecolor。你还没有告诉我们哪一行引起了错误是的,我的错误,这一行引起了错误,无法将此RGB值更改为schemeColor.TextFrame2.TextRange.Font.Fill.ForeColor.RGB=ocust.TextFrame2.TextRange.Font.Fill.ForeColor.RGBSet oScolor=ocust.TextFrame.TextRange.Color.schemeColor.TextFrame.TextRange.Font.Color.schemeColor=oScolor我已按您所说添加此代码,但不是workingFill.Color不在对象模型中,请改用Fill.ForeColor。
MsgBox ActivePresentation.Slides(1).Shapes(1).TextFrame2.TextRange.Font.Fill.ForeColor.SchemeColor