Sorry for the string of self replies. After further investigating the source code, it seems that the only reason a custom theme is not supported is that the Theme is using an Enum, even though the final output is just the XLTableTheme name as a string in XML.
My recommendation would be to add a ThemeName property that can be set directly or is automatically set to the Enum.GetName value of the Theme property. This way the Load could fall back on setting the ThemeName property when the enum value cannot be parsed and the Save methods could simply use the ThemeName string rather than the GetName as is currently used.
I will submit a patch.
My recommendation would be to add a ThemeName property that can be set directly or is automatically set to the Enum.GetName value of the Theme property. This way the Load could fall back on setting the ThemeName property when the enum value cannot be parsed and the Save methods could simply use the ThemeName string rather than the GetName as is currently used.
I will submit a patch.