2017-02-22 245 views
1

我需要通过VBA代码将演示文稿的颜色方案更改为Office 2007-2010。我怎样才能做到这一点?Powerpoint VBA - 更改颜色方案

enter image description here

我试图像下面,但似乎没有工作。在PowerPoint

ActivePresentation.ColorSchemes.Add 
ActivePresentation.ColorSchemes(1).Colors(ppAccent1).RGB = RGB(0, 0, 1) 
ActivePresentation.ColorSchemes(1).Colors(ppAccent1).RGB = RGB(0, 0, 2) 
+0

如果主题颜色是出口到* .xml *文件,您可以简单地设置(加载)演示文稿在SlideMaster上:'ActivePresentation.SlideMaster.Theme.ThemeColorScheme.Load“C:\ Theme Colors \ Office 2007 - 2010.xml”'将路径更改为存储xml文件的位置。 – PatricK

+0

您应该能够在'%USERPROFILE%\ AppData \ Roaming \ Microsoft \ Templates \ Document Themes \ Theme Colors'中找到自定义颜色xml文件。 – PatricK

+1

下面回答了问题,但值得指出的是,ColorSchemes仅在2007年之前与PPT版本向后兼容。对于PPT 2007和以后版本,您需要使用ColorThemes。 –

回答

0

更改配色方案应该是这样的:

ActivePresentation.SlideMaster.Theme.ThemeColorScheme(msoThemeAccent1) = RGB(1, 2, 3)

有一个整体的答案在这里:

https://answers.microsoft.com/en-us/msoffice/forum/msoffice_powerpoint-mso_winother/change-color-theme-using-vba-in-powerpoint/0efe38ad-36cb-4df7-b6e6-ed389c364f53

Sub mkThemeCols() 
With ActivePresentation.SlideMaster.Theme 
.ThemeColorScheme(msoThemeAccent1) = RGB(255, 0, 0) 
.ThemeColorScheme(msoThemeAccent2) = RGB(0, 255, 0) 
.ThemeColorScheme(msoThemeAccent3) = RGB(0, 255, 255) 
.ThemeColorScheme(msoThemeAccent4) = RGB(255, 255, 0) 
.ThemeColorScheme(msoThemeAccent5) = RGB(23, 255, 10) 
.ThemeColorScheme(msoThemeAccent6) = RGB(23, 255, 100) 
.ThemeColorScheme(msoThemeDark1) = RGB(23, 0, 0) 
.ThemeColorScheme(msoThemeDark2) = RGB(23, 23, 23) 
.ThemeColorScheme.Save Environ("APPDATA") & "\Microsoft\Templates\Document Themes\Theme Colors\myNew Theme.xml" 
End With 
End Sub