2011-05-05 130 views
1

有没有人知道我可以如何创建一个新的工作簿并将工作簿主题=设置为当前工作簿,是否有办法做到这一点,类似于您如何设置颜色,即ActiveWorkbook.Colors = ThisWorkbook.colors(我相信你仍然可以在Excel 2007中做到这一点,所以这将是我的解决方法,但我更愿意设置整个主题)。我需要创建一个工作簿并设置工作簿主题,而不使用文件路径,即没有在所有用户PC上保存主题。这可能吗?在vba中设置工作簿主题

非常感谢任何能够帮助这个人的人! :-)

回答

3

您无法设置工作簿的主题属性,因为它是只读属性。我会做类似于复制colortheme:

Private Sub CopyTheme(baseBook As Workbook, targetBook As Workbook) 
Dim themeName As String 
themeName = Environ("temp") & "\VBANoobTheme.xml" 

'save theme 
On Error Resume Next 
Kill themeName 
Err.Clear 
On Error GoTo 0 
'delete extra sheets 
baseBook.Theme.ThemeColorScheme.Save themeName 
targetBook.Theme.ThemeColorScheme.Load themeName 
End Sub