abap2xlsx/ZA2X/CLAS/ZCL_EXCEL_THEME.slnk
Łukasz Pęgiel f37e6e1b88 Themes hanling
In the reader I've added loading of theme1.xml file. Color scheme and
fonts are loaded to proper structure and can be updated, fmtscheme is at
the moment copied from oryginal file as well as object defaults, extra
colors and extension list.

In case of new file default office theme is used.

Changes can be tested with DEMO37 just create simple excel with theme
settings and use program to rewrite file.
2015-09-24 23:41:31 +02:00

201 lines
19 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_THEME" VERSION="1" LANGU="E" DESCRIPT="Theme" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<localImplementation>*&quot;* use this source file for the definition and implementation of
*&quot;* local helper classes, interface definitions and type
*&quot;* declarations</localImplementation>
<localTypes>*&quot;* use this source file for any type of declarations (class
*&quot;* definitions, interfaces or type declarations) you need for
*&quot;* components in the private section</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="&apos;theme&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME_ELEMENTS" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="&apos;themeElements&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME_EXTLST" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="4 " ATTDECLTYP="2" ATTVALUE="&apos;extLst&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME_EXTRA_COLOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="2" ATTVALUE="&apos;extraClrSchemeLst&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME_NAME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="2" ATTVALUE="&apos;name&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME_OBJECT_DEF" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;objectDefaults&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME_PREFIX" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="2" ATTVALUE="&apos;a&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME_PREFIX_WRITE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="2" ATTVALUE="&apos;a:&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME_XMLNS" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="2" ATTVALUE="&apos;xmlns:a&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="C_THEME_XMLNS_VAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="10 " ATTDECLTYP="2" ATTVALUE="&apos;http://schemas.openxmlformats.org/drawingml/2006/main&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="ELEMENTS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME_ELEMENTS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="EXTCLRSCHEMELST" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="3 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME_ECLRSCHEMELST" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="EXTLST" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME_EXTLST" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="NAME" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="3 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="OBJECTDEFAULTS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="2 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME_OBJECTDEFAULTS" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="THEME_CHANGED" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ABAP_BOOL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="THEME_READ" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="2 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ABAP_BOOL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME" CMPNAME="XMLS_A" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="2" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>method constructor.
create object elements.
create object objectdefaults.
create object extclrschemelst.
create object extlst.
endmethod. &quot;class_constructor</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="READ_THEME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="READ_THEME" SCONAME="IO_THEME_XML" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<source>method read_theme.
data: lo_node_theme type ref to if_ixml_element.
data: lo_theme_children type ref to if_ixml_node_list.
data: lo_theme_iterator type ref to if_ixml_node_iterator.
data: lo_theme_element type ref to if_ixml_element.
check io_theme_xml is not initial.
lo_node_theme = io_theme_xml-&gt;get_root_element( ).&quot; find_from_name( name = c_theme ).
if lo_node_theme is bound.
name = lo_node_theme-&gt;get_attribute( name = c_theme_name ).
xmls_a = lo_node_theme-&gt;get_attribute( name = c_theme_xmlns ).
lo_theme_children = lo_node_theme-&gt;get_children( ).
lo_theme_iterator = lo_theme_children-&gt;create_iterator( ).
lo_theme_element ?= lo_theme_iterator-&gt;get_next( ).
while lo_theme_element is bound.
case lo_theme_element-&gt;get_name( ).
when c_theme_elements.
elements-&gt;load( io_elements = lo_theme_element ).
when c_theme_object_def.
objectdefaults-&gt;load( io_object_def = lo_theme_element ).
when c_theme_extra_color.
extclrschemelst-&gt;load( io_extra_color = lo_theme_element ).
when c_theme_extlst.
extlst-&gt;load( io_extlst = lo_theme_element ).
endcase.
lo_theme_element ?= lo_theme_iterator-&gt;get_next( ).
endwhile.
endif.
endmethod. &quot;read_theme</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_COLOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_COLOR" SCONAME="IV_TYPE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_COLOR" SCONAME="IV_SRGB" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="ZCL_EXCEL_THEME_COLOR_SCHEME=&gt;T_SRGB" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_COLOR" SCONAME="IV_SYSCOLORNAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_COLOR" SCONAME="IV_SYSCOLORLAST" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="ZCL_EXCEL_THEME_COLOR_SCHEME=&gt;T_SRGB"/>
<source>method set_color.
elements-&gt;color_scheme-&gt;set_color(
exporting
iv_type = iv_type
iv_srgb = iv_srgb
iv_syscolorname = iv_syscolorname
iv_syscolorlast = iv_syscolorlast
).
endmethod. &quot;set_color</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_COLOR_SCHEME_NAME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_COLOR_SCHEME_NAME" SCONAME="IV_NAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<source>method set_color_scheme_name.
elements-&gt;color_scheme-&gt;set_name( iv_name = iv_name ).
endmethod. &quot;set_color_scheme_name</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_CS_FONT" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="9 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_CS_FONT" SCONAME="IV_TYPE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_CS_FONT" SCONAME="IV_TYPEFACE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_CS_FONT" SCONAME="IV_PANOSE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_CS_FONT" SCONAME="IV_PITCHFAMILY" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_CS_FONT" SCONAME="IV_CHARSET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<source>method set_cs_font.
elements-&gt;font_scheme-&gt;modify_cs_font(
exporting
iv_type = iv_type
iv_typeface = iv_typeface
iv_panose = iv_panose
iv_pitchfamily = iv_pitchfamily
iv_charset = iv_charset
).
endmethod. &quot;set_cs_font</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_EA_FONT" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_EA_FONT" SCONAME="IV_TYPE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_EA_FONT" SCONAME="IV_TYPEFACE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_EA_FONT" SCONAME="IV_PANOSE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_EA_FONT" SCONAME="IV_PITCHFAMILY" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_EA_FONT" SCONAME="IV_CHARSET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<source>method set_ea_font.
elements-&gt;font_scheme-&gt;modify_ea_font(
exporting
iv_type = iv_type
iv_typeface = iv_typeface
iv_panose = iv_panose
iv_pitchfamily = iv_pitchfamily
iv_charset = iv_charset
).
endmethod. &quot;set_ea_font</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_FONT" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_FONT" SCONAME="IV_TYPE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_FONT" SCONAME="IV_SCRIPT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_FONT" SCONAME="IV_TYPEFACE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<source>method set_font.
elements-&gt;font_scheme-&gt;modify_font(
exporting
iv_type = iv_type
iv_script = iv_script
iv_typeface = iv_typeface
).
endmethod. &quot;set_font</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_FONT_SCHEME_NAME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="10 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_FONT_SCHEME_NAME" SCONAME="IV_NAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<source>method set_font_scheme_name.
elements-&gt;font_scheme-&gt;set_name( iv_name = iv_name ).
endmethod. &quot;set_font_scheme_name</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_LATIN_FONT" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="7 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_LATIN_FONT" SCONAME="IV_TYPE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_LATIN_FONT" SCONAME="IV_TYPEFACE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_LATIN_FONT" SCONAME="IV_PANOSE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_LATIN_FONT" SCONAME="IV_PITCHFAMILY" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="4 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="SET_LATIN_FONT" SCONAME="IV_CHARSET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<source>method set_latin_font.
elements-&gt;font_scheme-&gt;modify_latin_font(
exporting
iv_type = iv_type
iv_typeface = iv_typeface
iv_panose = iv_panose
iv_pitchfamily = iv_pitchfamily
iv_charset = iv_charset
).
endmethod. &quot;set_latin_font</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME" CMPNAME="WRITE_THEME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME" CMPNAME="WRITE_THEME" SCONAME="RV_XSTRING" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
<source>method write_theme.
data: lo_ixml type ref to if_ixml,
lo_element_root type ref to if_ixml_element,
lo_encoding type ref to if_ixml_encoding.
data: lo_streamfactory TYPE REF TO if_ixml_stream_factory.
data: lo_ostream TYPE REF TO if_ixml_ostream.
data: lo_renderer TYPE REF TO if_ixml_renderer.
data: lo_document type ref to if_ixml_document.
lo_ixml = cl_ixml=&gt;create( ).
lo_encoding = lo_ixml-&gt;create_encoding( byte_order = if_ixml_encoding=&gt;co_platform_endian
character_set = &apos;UTF-8&apos; ).
lo_document = lo_ixml-&gt;create_document( ).
lo_document-&gt;set_encoding( lo_encoding ).
lo_document-&gt;set_standalone( abap_true ).
lo_document-&gt;set_namespace_prefix( prefix = &apos;a&apos; ).
lo_element_root = lo_document-&gt;create_simple_element_ns( prefix = c_theme_prefix
name = c_theme
parent = lo_document
).
lo_element_root-&gt;set_attribute_ns( name = c_theme_xmlns
value = c_theme_xmlns_val ).
lo_element_root-&gt;set_attribute_ns( name = c_theme_name
value = name ).
elements-&gt;build_xml( io_document = lo_document ).
objectdefaults-&gt;build_xml( io_document = lo_document ).
extclrschemelst-&gt;build_xml( io_document = lo_document ).
extlst-&gt;build_xml( io_document = lo_document ).
lo_streamfactory = lo_ixml-&gt;create_stream_factory( ).
lo_ostream = lo_streamfactory-&gt;create_ostream_xstring( string = rv_xstring ).
lo_renderer = lo_ixml-&gt;create_renderer( ostream = lo_ostream document = lo_document ).
lo_renderer-&gt;render( ).
endmethod. &quot;write_theme</source>
</method>
</CLAS>