excel 在VBA中更改调色板

f45qwnt8  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(208)

我试图改变从微软的调色板结合XLAM插件。下面是Microsoft's website的代码。

ActiveWorkbook.Colors = Workbooks("BOOK2.XLS").Colors

我的代码看起来像这样:

Public Sub ApplyColors()
Dim add As Workbook
Set add = ThisWorkbook
Dim act As Workbook
Set act = ActiveWorkbook
add.ResetColors
act.ResetColors
add.Colors(1) = RGB(1, 1, 1)
act.Colors = add.Colors
End Sub

当我运行它时,没有错误代码,但只是什么也没有发生。我首先重置的颜色外接程序(添加)和活动工作簿(行动)。然后应用新的颜色,并在最后一步中设置外接程序的调色板到活动工作簿。
有什么建议吗?

j0pj023g

j0pj023g1#

找到答案了。我创建了一个自定义颜色主题,临时保存,加载,然后删除。

Sub CreateCustomColorTheme()
Dim newTheme As ThemeColorScheme
Dim tempFile As String
tempFile = Environ$("temp") & "\MyCustomTheme.thmx"
Set newTheme = Application.ActiveWorkbook.Theme.ThemeColorScheme

'Define custom colors for each color index
newTheme.Colors(msoThemeAccent1) = RGB(255, 0, 0) 'Red
newTheme.Colors(msoThemeAccent2) = RGB(255, 0, 0) 'Green
newTheme.Colors(msoThemeAccent3) = RGB(255, 0, 0) 'Blue
newTheme.Colors(msoThemeAccent4) = RGB(255, 0, 0) 'Yellow
newTheme.Colors(msoThemeAccent5) = RGB(255, 0, 0) 'Magenta
newTheme.Colors(msoThemeAccent6) = RGB(255, 0, 0) 'Cyan

'Set custom theme as the active theme
Application.ActiveWorkbook.Theme.ThemeColorScheme.Save tempFile
Application.ActiveWorkbook.Theme.ThemeColorScheme.Load tempFile
Kill tempFile
End Sub

相关问题