2017-02-22 17 views
1

Мне нужно изменить цветовую схему презентации на Office 2007-2010, хотя код VBA. Как я могу это сделать?Powerpoint VBA - Изменить цветовую схему

enter image description here

Я пытался что-то вроде ниже, но не похоже на работу.

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: \ Тематические цвета \ Office 2007 - 2010.xml "' Измените путь к тому, где вы храните XML-файл. – PatricK

+0

Вы должны найти пользовательский цветной XML-файл в '% USERPROFILE% \ AppData \ Roaming \ Microsoft \ Templates \ Document Themes \ Theme Colors'. – PatricK

+1

Вопрос был дан ниже, но стоит отметить, что ColorSchemes существуют только для обратной совместимости с версиями PPT до 2007 года. Для PPT 2007 и далее вы хотите работать с ColorThemes. –

ответ

0

Изменения цветовых схем в PowerPoint должны быть такие:

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