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.
This commit is contained in:
Łukasz Pęgiel 2015-09-24 23:41:31 +02:00
parent 9d7a701585
commit f37e6e1b88
11 changed files with 1568 additions and 126 deletions

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_VBA_PROJECT" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_PROTECTION" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
<CLAS CLSNAME="ZCL_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_PROPERTIES" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_PROTECTION" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
<implementing CLSNAME="ZCL_EXCEL" REFCLSNAME="ZIF_EXCEL_BOOK_VBA_PROJECT" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
*&quot;* local helper classes</localImplementation>
@ -125,6 +125,7 @@ ENDCLASS. &quot;zcl_Tc_Excel</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="RANGES" VERSION="1" LANGU="E" DESCRIPT="Ranges collection" EXPOSURE="0" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_RANGES" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="SECURITY" VERSION="1" LANGU="E" DESCRIPT="Security" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_SECURITY" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="STYLES" VERSION="1" LANGU="E" DESCRIPT="Styles collection" EXPOSURE="0" STATE="1" EDITORDER="7 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLES" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="THEME" VERSION="1" LANGU="E" DESCRIPT="Theme" EXPOSURE="0" STATE="1" EDITORDER="10 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="T_STYLEMAPPING1" VERSION="1" LANGU="E" DESCRIPT="Stylemapping: Values -&gt; GUID" EXPOSURE="0" STATE="1" EDITORDER="8 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_STYLEMAPPING1" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="T_STYLEMAPPING2" VERSION="1" LANGU="E" DESCRIPT="Stylemapping: GUID -&gt; Values" EXPOSURE="0" STATE="1" EDITORDER="9 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_T_STYLEMAPPING2" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL" CMPNAME="USE_TEMPLATE" VERSION="1" LANGU="E" DESCRIPT="Checkbox" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="XFELD" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
@ -517,6 +518,12 @@ ENDMETHOD.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_THEME" VERSION="1" LANGU="E" DESCRIPT="Gets theme" EXPOSURE="2" STATE="1" EDITORDER="0 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_THEME" SCONAME="EO_THEME" VERSION="1" LANGU="E" DESCRIPT="Theme" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="1" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME"/>
<source>method GET_THEME.
eo_theme = theme.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_ITERATOR" VERSION="1" LANGU="E" DESCRIPT="Get worksheets iterator" EXPOSURE="2" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="GET_WORKSHEETS_ITERATOR" SCONAME="EO_ITERATOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="CL_OBJECT_COLLECTION_ITERATOR"/>
<source>method GET_WORKSHEETS_ITERATOR.
@ -628,6 +635,12 @@ ENDMETHOD.</source>
me-&gt;default_style = ip_style.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="SET_THEME" VERSION="1" LANGU="E" DESCRIPT="Sets theme" EXPOSURE="2" STATE="1" EDITORDER="0 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="SET_THEME" SCONAME="IO_THEME" VERSION="1" LANGU="E" DESCRIPT="Theme" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME"/>
<source>method SET_THEME.
theme = io_theme.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL" CMPNAME="STYLEMAPPING_DYNAMIC_STYLE" VERSION="1" LANGU="E" DESCRIPT="Convert dynamic style to static styleentry" EXPOSURE="0" STATE="1" EDITORDER="30 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="STYLEMAPPING_DYNAMIC_STYLE" SCONAME="IP_STYLE" VERSION="1" LANGU="E" DESCRIPT="Style" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL_STYLE"/>
<parameter CLSNAME="ZCL_EXCEL" CMPNAME="STYLEMAPPING_DYNAMIC_STYLE" SCONAME="EO_STYLE2" VERSION="1" LANGU="E" DESCRIPT="Stypemapping" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_S_STYLEMAPPING"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_READER_2007" VERSION="1" LANGU="E" DESCRIPT="Read Excel 2007 into ZCL_EXCEL" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_RELATIONSHIP" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="1 " TYPTYPE="4" SRCROW1="6 " SRCCOLUMN1="4 " SRCROW2="13 " SRCCOLUMN2="24 " TYPESRC_LENG="0 " TYPESRC='BEGIN OF t_relationship,
<CLAS CLSNAME="ZCL_EXCEL_READER_2007" VERSION="1" LANGU="E" DESCRIPT="Read Excel 2007 into ZCL_EXCEL" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_RELATIONSHIP" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="1 " TYPTYPE="4" SRCROW1="4 " SRCCOLUMN1="4 " SRCROW2="11 " SRCCOLUMN2="24 " TYPESRC_LENG="319 " TYPESRC='BEGIN OF t_relationship,
id TYPE string,
type TYPE string,
target TYPE string,
@ -9,7 +9,7 @@
sheetid TYPE string, &quot;ins #235 - repeat rows/cols - needed to identify correct sheet
END OF t_relationship
'/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_FILEVERSION" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="2 " TYPTYPE="4" SRCROW1="15 " SRCCOLUMN1="4 " SRCROW2="21 " SRCCOLUMN2="23 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF t_fileversion,
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_FILEVERSION" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="2 " TYPTYPE="4" SRCROW1="13 " SRCCOLUMN1="4 " SRCROW2="19 " SRCCOLUMN2="23 " TYPESRC_LENG="209 " TYPESRC="BEGIN OF t_fileversion,
appname TYPE string,
lastedited TYPE string,
lowestedited TYPE string,
@ -17,60 +17,60 @@
codename TYPE string,
END OF t_fileversion
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_SHEET" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="3 " TYPTYPE="4" SRCROW1="23 " SRCCOLUMN1="4 " SRCROW2="28 " SRCCOLUMN2="17 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF t_sheet,
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_SHEET" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="3 " TYPTYPE="4" SRCROW1="21 " SRCCOLUMN1="4 " SRCROW2="26 " SRCCOLUMN2="17 " TYPESRC_LENG="145 " TYPESRC="BEGIN OF t_sheet,
name TYPE string,
sheetid TYPE string,
id TYPE string,
state TYPE string,
END OF t_sheet
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_WORKBOOKPR" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="4 " TYPTYPE="4" SRCROW1="30 " SRCCOLUMN1="4 " SRCROW2="33 " SRCCOLUMN2="22 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF t_workbookpr,
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_WORKBOOKPR" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="4 " TYPTYPE="4" SRCROW1="28 " SRCCOLUMN1="4 " SRCROW2="31 " SRCCOLUMN2="22 " TYPESRC_LENG="125 " TYPESRC="BEGIN OF t_workbookpr,
codename TYPE string,
defaultthemeversion TYPE string,
END OF t_workbookpr
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_SHEETPR" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="5 " TYPTYPE="4" SRCROW1="35 " SRCCOLUMN1="4 " SRCROW2="37 " SRCCOLUMN2="19 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF t_sheetpr,
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_SHEETPR" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="5 " TYPTYPE="4" SRCROW1="33 " SRCCOLUMN1="4 " SRCROW2="35 " SRCCOLUMN2="19 " TYPESRC_LENG="69 " TYPESRC="BEGIN OF t_sheetpr,
codename TYPE string,
END OF t_sheetpr
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_RANGE" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="6 " TYPTYPE="4" SRCROW1="39 " SRCCOLUMN1="4 " SRCROW2="43 " SRCCOLUMN2="17 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF t_range,
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_RANGE" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="6 " TYPTYPE="4" SRCROW1="37 " SRCCOLUMN1="4 " SRCROW2="41 " SRCCOLUMN2="17 " TYPESRC_LENG="223 " TYPESRC="BEGIN OF t_range,
name TYPE string,
hidden TYPE string, &quot;inserted with issue #235 because Autofilters didn&apos;t passthrough
localsheetid TYPE string, &quot; issue #163
END OF t_range
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_FILLS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="7 " TYPTYPE="4" SRCROW1="45 " SRCCOLUMN1="4 " SRCROW2="45 " SRCCOLUMN2="91 " TYPESRC_LENG="0 " TYPESRC="t_fills TYPE STANDARD TABLE OF REF TO zcl_excel_style_fill WITH NON-UNIQUE DEFAULT KEY
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_FILLS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="7 " TYPTYPE="4" SRCROW1="43 " SRCCOLUMN1="4 " SRCROW2="43 " SRCCOLUMN2="91 " TYPESRC_LENG="89 " TYPESRC="t_fills TYPE STANDARD TABLE OF REF TO zcl_excel_style_fill WITH NON-UNIQUE DEFAULT KEY
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_BORDERS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="8 " TYPTYPE="4" SRCROW1="47 " SRCCOLUMN1="4 " SRCROW2="47 " SRCCOLUMN2="94 " TYPESRC_LENG="0 " TYPESRC="t_borders TYPE STANDARD TABLE OF REF TO zcl_excel_style_borders WITH NON-UNIQUE DEFAULT KEY
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_BORDERS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="8 " TYPTYPE="4" SRCROW1="45 " SRCCOLUMN1="4 " SRCROW2="45 " SRCCOLUMN2="94 " TYPESRC_LENG="92 " TYPESRC="t_borders TYPE STANDARD TABLE OF REF TO zcl_excel_style_borders WITH NON-UNIQUE DEFAULT KEY
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_FONTS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="9 " TYPTYPE="4" SRCROW1="49 " SRCCOLUMN1="4 " SRCROW2="49 " SRCCOLUMN2="91 " TYPESRC_LENG="0 " TYPESRC="t_fonts TYPE STANDARD TABLE OF REF TO zcl_excel_style_font WITH NON-UNIQUE DEFAULT KEY
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_FONTS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="9 " TYPTYPE="4" SRCROW1="47 " SRCCOLUMN1="4 " SRCROW2="47 " SRCCOLUMN2="91 " TYPESRC_LENG="89 " TYPESRC="t_fonts TYPE STANDARD TABLE OF REF TO zcl_excel_style_font WITH NON-UNIQUE DEFAULT KEY
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_STYLE_REFS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="10 " TYPTYPE="4" SRCROW1="51 " SRCCOLUMN1="4 " SRCROW2="51 " SRCCOLUMN2="89 " TYPESRC_LENG="0 " TYPESRC="t_style_refs TYPE STANDARD TABLE OF REF TO zcl_excel_style WITH NON-UNIQUE DEFAULT KEY
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_STYLE_REFS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="10 " TYPTYPE="4" SRCROW1="49 " SRCCOLUMN1="4 " SRCROW2="49 " SRCCOLUMN2="89 " TYPESRC_LENG="87 " TYPESRC="t_style_refs TYPE STANDARD TABLE OF REF TO zcl_excel_style WITH NON-UNIQUE DEFAULT KEY
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_COLOR" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="11 " TYPTYPE="4" SRCROW1="53 " SRCCOLUMN1="4 " SRCROW2="58 " SRCCOLUMN2="17 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF t_color,
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_COLOR" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="11 " TYPTYPE="4" SRCROW1="51 " SRCCOLUMN1="4 " SRCROW2="56 " SRCCOLUMN2="17 " TYPESRC_LENG="145 " TYPESRC="BEGIN OF t_color,
indexed TYPE string,
rgb TYPE string,
theme TYPE string,
tint TYPE string,
END OF t_color
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_REL_DRAWING" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="12 " TYPTYPE="4" SRCROW1="60 " SRCCOLUMN1="4 " SRCROW2="65 " SRCCOLUMN2="23 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF t_rel_drawing,
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_REL_DRAWING" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="12 " TYPTYPE="4" SRCROW1="58 " SRCCOLUMN1="4 " SRCROW2="63 " SRCCOLUMN2="23 " TYPESRC_LENG="191 " TYPESRC="BEGIN OF t_rel_drawing,
id TYPE string,
content TYPE xstring,
file_ext TYPE string,
content_xml TYPE REF TO if_ixml_document,
END OF t_rel_drawing
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_REL_DRAWINGS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="13 " TYPTYPE="4" SRCROW1="67 " SRCCOLUMN1="4 " SRCROW2="67 " SRCCOLUMN2="82 " TYPESRC_LENG="0 " TYPESRC="t_rel_drawings TYPE STANDARD TABLE OF t_rel_drawing WITH NON-UNIQUE DEFAULT KEY
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="T_REL_DRAWINGS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="13 " TYPTYPE="4" SRCROW1="65 " SRCCOLUMN1="4 " SRCROW2="65 " SRCCOLUMN2="82 " TYPESRC_LENG="80 " TYPESRC="t_rel_drawings TYPE STANDARD TABLE OF t_rel_drawing WITH NON-UNIQUE DEFAULT KEY
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GTS_EXTERNAL_HYPERLINK" VERSION="1" LANGU="E" DESCRIPT="External hyperlink" EXPOSURE="1" STATE="1" EDITORDER="14 " TYPTYPE="4" SRCROW1="69 " SRCCOLUMN1="4 " SRCROW2="72 " SRCCOLUMN2="32 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF gts_external_hyperlink,
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GTS_EXTERNAL_HYPERLINK" VERSION="1" LANGU="E" DESCRIPT="External hyperlink" EXPOSURE="1" STATE="1" EDITORDER="14 " TYPTYPE="4" SRCROW1="67 " SRCCOLUMN1="4 " SRCROW2="70 " SRCCOLUMN2="32 " TYPESRC_LENG="119 " TYPESRC="BEGIN OF gts_external_hyperlink,
id TYPE string,
target TYPE string,
END OF gts_external_hyperlink
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GTT_EXTERNAL_HYPERLINKS" VERSION="1" LANGU="E" DESCRIPT="Table with external hyperlinks" EXPOSURE="1" STATE="1" EDITORDER="15 " TYPTYPE="4" SRCROW1="74 " SRCCOLUMN1="4 " SRCROW2="74 " SRCCOLUMN2="89 " TYPESRC_LENG="0 " TYPESRC="gtt_external_hyperlinks TYPE HASHED TABLE OF gts_external_hyperlink WITH UNIQUE KEY id
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="GTT_EXTERNAL_HYPERLINKS" VERSION="1" LANGU="E" DESCRIPT="Table with external hyperlinks" EXPOSURE="1" STATE="1" EDITORDER="15 " TYPTYPE="4" SRCROW1="72 " SRCCOLUMN1="4 " SRCROW2="72 " SRCCOLUMN2="89 " TYPESRC_LENG="87 " TYPESRC="gtt_external_hyperlinks TYPE HASHED TABLE OF gts_external_hyperlink WITH UNIQUE KEY id
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="TY_REF_FORMULAE" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="16 " TYPTYPE="4" SRCROW1="76 " SRCCOLUMN1="4 " SRCROW2="83 " SRCCOLUMN2="27 " TYPESRC_LENG="0 " TYPESRC="BEGIN OF ty_ref_formulae,
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="TY_REF_FORMULAE" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="16 " TYPTYPE="4" SRCROW1="74 " SRCCOLUMN1="4 " SRCROW2="81 " SRCCOLUMN2="27 " TYPESRC_LENG="222 " TYPESRC="BEGIN OF ty_ref_formulae,
sheet TYPE REF TO zcl_excel_worksheet,
row TYPE i,
column TYPE i,
@ -79,7 +79,7 @@
formula TYPE string,
END OF ty_ref_formulae
"/>
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="TYT_REF_FORMULAE" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="17 " TYPTYPE="4" SRCROW1="85 " SRCCOLUMN1="4 " SRCROW2="85 " SRCCOLUMN2="89 " TYPESRC_LENG="0 " TYPESRC="tyt_ref_formulae TYPE HASHED TABLE OF ty_ref_formulae WITH UNIQUE KEY sheet row column
<types CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="TYT_REF_FORMULAE" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="17 " TYPTYPE="4" SRCROW1="83 " SRCCOLUMN1="4 " SRCROW2="83 " SRCCOLUMN2="89 " TYPESRC_LENG="87 " TYPESRC="tyt_ref_formulae TYPE HASHED TABLE OF ty_ref_formulae WITH UNIQUE KEY sheet row column
"/>
<implementing CLSNAME="ZCL_EXCEL_READER_2007" REFCLSNAME="ZIF_EXCEL_READER" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="0 "/>
<localImplementation>*&quot;* local class implementation for public class
@ -1766,6 +1766,18 @@ ENDMETHOD.</source>
ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_THEME" VERSION="1" LANGU="E" DESCRIPT="Loads theme" EXPOSURE="1" STATE="1" EDITORDER="29 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_THEME" SCONAME="IV_PATH" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_THEME" SCONAME="IP_EXCEL" VERSION="1" LANGU="E" DESCRIPT="Excel creator" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="ZCL_EXCEL"/>
<source>method load_theme.
data theme type ref to zcl_excel_theme.
data: lo_theme_xml type ref to if_ixml_document.
create object theme.
lo_theme_xml = me-&gt;get_ixml_from_zip_archive( iv_path ).
theme-&gt;read_theme( io_theme_xml = lo_theme_xml ).
ip_excel-&gt;set_theme( io_theme = theme ).
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" VERSION="1" LANGU="E" DESCRIPT="Loads workbook" EXPOSURE="1" STATE="1" EDITORDER="12 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" MTDNEWEXC="X" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_READER_2007" CMPNAME="LOAD_WORKBOOK" SCONAME="IV_WORKBOOK_FULL_FILENAME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
@ -1810,6 +1822,7 @@ ENDMETHOD.</source>
lcv_worksheet TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet&apos;,
lcv_styles TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles&apos;,
lcv_vba_project TYPE string VALUE &apos;http://schemas.microsoft.com/office/2006/relationships/vbaProject&apos;, &quot;#EC NEEDED for future incorporation of XLSM-reader
lcv_theme TYPE string VALUE &apos;http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme&apos;,
*--------------------------------------------------------------------*
* #232: Read worksheetstate hidden/veryHidden - begin data declarations
*--------------------------------------------------------------------*
@ -1969,7 +1982,14 @@ ENDMETHOD.</source>
ip_excel = io_excel ).
me-&gt;load_dxf_styles( iv_path = lv_full_filename
io_excel = io_excel ).
when lcv_theme.
CONCATENATE lv_path ls_relationship-target
INTO lv_full_filename.
me-&gt;load_theme(
exporting
iv_path = lv_full_filename
ip_excel = io_excel &quot; Excel creator
).
WHEN OTHERS.
ENDCASE.

View File

@ -0,0 +1,200 @@
<?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>

View File

@ -0,0 +1,427 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" VERSION="1" LANGU="E" DESCRIPT="Theme Color Scheme" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" WITH_UNIT_TESTS="X" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<types CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="T_SRGB" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<types CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="T_SYSCOLOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " TYPTYPE="4" SRCROW1="18 " SRCCOLUMN1="6 " SRCROW2="21 " SRCCOLUMN2="29 " TYPESRC_LENG="122 " TYPESRC="begin of t_syscolor,
val type string,
lastclr type t_srgb,
end of t_syscolor
"/>
<types CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="T_COLOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="3 " TYPTYPE="4" SRCROW1="23 " SRCCOLUMN1="6 " SRCROW2="26 " SRCCOLUMN2="26 " TYPESRC_LENG="120 " TYPESRC="begin of t_color,
srgb type t_srgb,
syscolor type t_syscolor,
end of t_color
"/>
<friends CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" REFCLSNAME="ZCL_EXCEL_THEME" FRIENDTYPE="0" VERSION="1" STATE="1"/>
<friends CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" REFCLSNAME="ZCL_EXCEL_THEME_ELEMENTS" FRIENDTYPE="0" VERSION="1" STATE="1"/>
<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>
<localTestClasses>*&quot;* use this source file for your ABAP unit test classes</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="ACCENT1" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="6 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="ACCENT2" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="7 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="ACCENT3" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="8 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="ACCENT4" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="9 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="ACCENT5" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="10 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="ACCENT6" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="11 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_ACCENT1" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="&apos;accent1&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_ACCENT2" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="2" ATTVALUE="&apos;accent2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_ACCENT3" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="2" ATTVALUE="&apos;accent3&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_ACCENT4" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="2" ATTVALUE="&apos;accent4&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_ACCENT5" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="2" ATTVALUE="&apos;accent5&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_ACCENT6" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="10 " ATTDECLTYP="2" ATTVALUE="&apos;accent6&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_DARK1" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="&apos;dk1&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_DARK2" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;dk2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_FOLHLINK" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="12 " ATTDECLTYP="2" ATTVALUE="&apos;folHlink&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_HLINK" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="11 " ATTDECLTYP="2" ATTVALUE="&apos;hlink&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_LASTCLR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="16 " ATTDECLTYP="2" ATTVALUE="&apos;lastClr&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_LIGHT1" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="2" ATTVALUE="&apos;lt1&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_LIGHT2" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="4 " ATTDECLTYP="2" ATTVALUE="&apos;lt2&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_NAME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="17 " 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_COLOR_SCHEME" CMPNAME="C_SCHEME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="18 " ATTDECLTYP="2" ATTVALUE="&apos;clrScheme&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_SRGBCOLOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="14 " ATTDECLTYP="2" ATTVALUE="&apos;srgbClr&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_SYSCOLOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="13 " ATTDECLTYP="2" ATTVALUE="&apos;sysClr&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="C_VAL" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="15 " ATTDECLTYP="2" ATTVALUE="&apos;val&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="DARK1" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="2 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="DARK2" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="3 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="FOLHLINK" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="13 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="HLINK" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="12 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="LIGHT1" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="4 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="LIGHT2" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="5 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_COLOR" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="NAME" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="BUILD_XML" 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_COLOR_SCHEME" CMPNAME="BUILD_XML" SCONAME="IO_DOCUMENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<source>method build_xml.
data: lo_scheme_element type ref to if_ixml_element.
data: lo_color type ref to if_ixml_element.
data: lo_syscolor type ref to if_ixml_element.
data: lo_srgb type ref to if_ixml_element.
data: lo_elements type ref to if_ixml_element.
check io_document is bound.
lo_elements ?= io_document-&gt;find_from_name_ns( name = zcl_excel_theme=&gt;c_theme_elements ).
if lo_elements is bound.
lo_scheme_element ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix
name = zcl_excel_theme_elements=&gt;c_color_scheme
parent = lo_elements ).
lo_scheme_element-&gt;set_attribute( name = c_name value = name ).
&quot;! Adding colors to scheme
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix
name = c_dark1
parent = lo_scheme_element ).
if lo_color is bound.
if dark1-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = dark1-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = dark1-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = dark1-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_light1
parent = lo_scheme_element ).
if lo_color is bound.
if light1-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = light1-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = light1-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = light1-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_dark2
parent = lo_scheme_element ).
if lo_color is bound.
if dark2-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = dark2-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = dark2-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = dark2-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_light2
parent = lo_scheme_element ).
if lo_color is bound.
if light2-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = light2-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = light2-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = light2-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_accent1
parent = lo_scheme_element ).
if lo_color is bound.
if accent1-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = accent1-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = accent1-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = accent1-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_accent2
parent = lo_scheme_element ).
if lo_color is bound.
if accent2-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = accent2-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = accent2-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = accent2-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_accent3
parent = lo_scheme_element ).
if lo_color is bound.
if accent3-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = accent3-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = accent3-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = accent3-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_accent4
parent = lo_scheme_element ).
if lo_color is bound.
if accent4-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = accent4-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = accent4-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = accent4-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_accent5
parent = lo_scheme_element ).
if lo_color is bound.
if accent5-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = accent5-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = accent5-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = accent5-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_accent6
parent = lo_scheme_element ).
if lo_color is bound.
if accent6-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = accent6-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = accent6-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = accent6-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_hlink
parent = lo_scheme_element ).
if lo_color is bound.
if hlink-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = hlink-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = hlink-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = hlink-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
lo_color ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_folhlink
parent = lo_scheme_element ).
if lo_color is bound.
if folhlink-srgb is not initial.
lo_srgb ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_srgbcolor
parent = lo_color ).
lo_srgb-&gt;set_attribute( name = c_val value = folhlink-srgb ).
else.
lo_syscolor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_syscolor
parent = lo_color ).
lo_syscolor-&gt;set_attribute( name = c_val value = folhlink-syscolor-val ).
lo_syscolor-&gt;set_attribute( name = c_lastclr value = folhlink-syscolor-lastclr ).
endif.
clear: lo_color, lo_srgb, lo_syscolor.
endif.
endif.
endmethod. &quot;build_xml</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " MTDTYPE="2" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>method constructor.
set_defaults( ).
endmethod. &quot;constructor</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="GET_COLOR" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="GET_COLOR" SCONAME="IO_OBJECT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
<parameter CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="GET_COLOR" SCONAME="RV_COLOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="T_COLOR"/>
<source>method get_color.
data: lo_color_children type ref to if_ixml_node_list.
data: lo_color_iterator type ref to if_ixml_node_iterator.
data: lo_color_element type ref to if_ixml_element.
check io_object is not initial.
lo_color_children = io_object-&gt;get_children( ).
lo_color_iterator = lo_color_children-&gt;create_iterator( ).
lo_color_element ?= lo_color_iterator-&gt;get_next( ).
if lo_color_element is bound.
case lo_color_element-&gt;get_name( ).
when c_srgbcolor.
rv_color-srgb = lo_color_element-&gt;get_attribute( name = c_val ).
when c_syscolor.
rv_color-syscolor-val = lo_color_element-&gt;get_attribute( name = c_val ).
rv_color-syscolor-lastclr = lo_color_element-&gt;get_attribute( name = c_lastclr ).
endcase.
endif.
endmethod. &quot;get_color</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="LOAD" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="LOAD" SCONAME="IO_COLOR_SCHEME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
<source>method load.
data: lo_scheme_children type ref to if_ixml_node_list.
data: lo_scheme_iterator type ref to if_ixml_node_iterator.
data: lo_scheme_element type ref to if_ixml_element.
check io_color_scheme is not initial.
name = io_color_scheme-&gt;get_attribute( name = c_name ).
lo_scheme_children = io_color_scheme-&gt;get_children( ).
lo_scheme_iterator = lo_scheme_children-&gt;create_iterator( ).
lo_scheme_element ?= lo_scheme_iterator-&gt;get_next( ).
while lo_scheme_element is bound.
case lo_scheme_element-&gt;get_name( ).
when c_dark1.
dark1 = me-&gt;get_color( lo_scheme_element ).
when c_dark2.
dark2 = me-&gt;get_color( lo_scheme_element ).
when c_light1.
light1 = me-&gt;get_color( lo_scheme_element ).
when c_light2.
light2 = me-&gt;get_color( lo_scheme_element ).
when c_accent1.
accent1 = me-&gt;get_color( lo_scheme_element ).
when c_accent2.
accent2 = me-&gt;get_color( lo_scheme_element ).
when c_accent3.
accent3 = me-&gt;get_color( lo_scheme_element ).
when c_accent4.
accent4 = me-&gt;get_color( lo_scheme_element ).
when c_accent5.
accent5 = me-&gt;get_color( lo_scheme_element ).
when c_accent6.
accent6 = me-&gt;get_color( lo_scheme_element ).
when c_hlink.
hlink = me-&gt;get_color( lo_scheme_element ).
when c_folhlink.
folhlink = me-&gt;get_color( lo_scheme_element ).
endcase.
lo_scheme_element ?= lo_scheme_iterator-&gt;get_next( ).
endwhile.
endmethod. &quot;load</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="SET_COLOR" 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_COLOR_SCHEME" 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_COLOR_SCHEME" 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="T_SRGB" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" 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_COLOR_SCHEME" 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="T_SRGB"/>
<source>method set_color.
field-symbols: &lt;color&gt; type t_color.
check iv_type is not initial.
check iv_srgb is not initial or iv_syscolorname is not initial.
case iv_type.
when c_dark1.
assign dark1 to &lt;color&gt;.
when c_dark2.
assign dark2 to &lt;color&gt;.
when c_light1.
assign light1 to &lt;color&gt;.
when c_light2.
assign light2 to &lt;color&gt;.
when c_accent1.
assign accent1 to &lt;color&gt;.
when c_accent2.
assign accent2 to &lt;color&gt;.
when c_accent3.
assign accent3 to &lt;color&gt;.
when c_accent4.
assign accent4 to &lt;color&gt;.
when c_accent5.
assign accent5 to &lt;color&gt;.
when c_accent6.
assign accent6 to &lt;color&gt;.
when c_hlink.
assign hlink to &lt;color&gt;.
when c_folhlink.
assign folhlink to &lt;color&gt;.
endcase.
check &lt;color&gt; is assigned.
clear &lt;color&gt;.
if iv_srgb is not initial.
&lt;color&gt;-srgb = iv_srgb.
else.
&lt;color&gt;-syscolor-val = iv_syscolorname.
if iv_syscolorlast is not initial.
&lt;color&gt;-syscolor-lastclr = iv_syscolorlast.
else.
&lt;color&gt;-syscolor-lastclr = &apos;000000&apos;.
endif.
endif.
endmethod. &quot;set_color</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="SET_DEFAULTS" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="2 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>method set_defaults.
name = &apos;Office&apos;.
dark1-syscolor-val = &apos;windowText&apos;.
dark1-syscolor-lastclr = &apos;000000&apos;.
light1-syscolor-val = &apos;window&apos;.
light1-syscolor-lastclr = &apos;FFFFFF&apos;.
dark2-srgb = &apos;44546A&apos;.
light2-srgb = &apos;E7E6E6&apos;.
accent1-srgb = &apos;5B9BD5&apos;.
accent2-srgb = &apos;ED7D31&apos;.
accent3-srgb = &apos;A5A5A5&apos;.
accent4-srgb = &apos;FFC000&apos;.
accent5-srgb = &apos;4472C4&apos;.
accent6-srgb = &apos;70AD47&apos;.
hlink-srgb = &apos;0563C1&apos;.
folhlink-srgb = &apos;954F72&apos;.
endmethod. &quot;set_defaults</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_COLOR_SCHEME" CMPNAME="SET_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_COLOR_SCHEME" CMPNAME="SET_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_name.
if strlen( iv_name ) &gt; 50.
name = iv_name(50).
else.
name = iv_name.
endif.
endmethod. &quot;set_name</source>
</method>
</CLAS>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_THEME_ECLRSCHEMELST" VERSION="1" LANGU="E" DESCRIPT="Theme Extra Color Scheme List" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" WITH_UNIT_TESTS="X" 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>
<localTestClasses>*&quot;* use this source file for your ABAP unit test classes</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL_THEME_ECLRSCHEMELST" CMPNAME="EXTRACOLOR" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="IF_IXML_ELEMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_THEME_ECLRSCHEMELST" CMPNAME="BUILD_XML" 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_ECLRSCHEMELST" CMPNAME="BUILD_XML" SCONAME="IO_DOCUMENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<source>method build_xml.
data: lo_theme_element type ref to if_ixml_element.
data: lo_theme type ref to if_ixml_element.
data: lo_theme_objdef type ref to if_ixml_element.
check io_document is bound.
lo_theme ?= io_document-&gt;get_root_element( ).
check lo_theme is bound.
if extracolor is initial.
lo_theme_objdef ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix
name = zcl_excel_theme=&gt;c_theme_extra_color
parent = lo_theme ).
else.
lo_theme-&gt;append_child( new_child = extracolor ).
endif.
endmethod. &quot;build_xml</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_ECLRSCHEMELST" CMPNAME="LOAD" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME_ECLRSCHEMELST" CMPNAME="LOAD" SCONAME="IO_EXTRA_COLOR" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
<source>method load.
&quot;! so far copy only existing values
extracolor ?= io_extra_color.
endmethod. &quot;load</source>
</method>
</CLAS>

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" VERSION="1" LANGU="E" DESCRIPT="Theme Elements" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" WITH_UNIT_TESTS="X" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<friends CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" REFCLSNAME="ZCL_EXCEL_THEME" FRIENDTYPE="0" VERSION="1" STATE="1"/>
<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>
<localTestClasses>*&quot;* use this source file for your ABAP unit test classes</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" CMPNAME="COLOR_SCHEME" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME_COLOR_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" CMPNAME="C_COLOR_SCHEME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " ATTDECLTYP="2" ATTVALUE="&apos;clrScheme&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" CMPNAME="C_FMT_SCHEME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="2" ATTVALUE="&apos;fmtScheme&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" CMPNAME="C_FONT_SCHEME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;fontScheme&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" CMPNAME="C_THEME_ELEMENTS" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="4 " 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_ELEMENTS" CMPNAME="FMT_SCHEME" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="3 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME_FMT_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" CMPNAME="FONT_SCHEME" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="2 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="ZCL_EXCEL_THEME_FONT_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" CMPNAME="BUILD_XML" 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_ELEMENTS" CMPNAME="BUILD_XML" SCONAME="IO_DOCUMENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<source>method build_xml.
data: lo_theme_element type ref to if_ixml_element.
data: lo_theme type ref to if_ixml_element.
check io_document is bound.
lo_theme ?= io_document-&gt;get_root_element( )..
if lo_theme is bound.
lo_theme_element ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix
name = c_theme_elements
parent = lo_theme ).
color_scheme-&gt;build_xml( io_document = io_document ).
font_scheme-&gt;build_xml( io_document = io_document ).
fmt_scheme-&gt;build_xml( io_document = io_document ).
endif.
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" 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 color_scheme.
create object font_scheme.
create object fmt_scheme.
endmethod. &quot;constructor</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_ELEMENTS" CMPNAME="LOAD" 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_ELEMENTS" CMPNAME="LOAD" SCONAME="IO_ELEMENTS" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
<source>method load.
data: lo_elements_children type ref to if_ixml_node_list.
data: lo_elements_iterator type ref to if_ixml_node_iterator.
data: lo_elements_element type ref to if_ixml_element.
check io_elements is not initial.
lo_elements_children = io_elements-&gt;get_children( ).
lo_elements_iterator = lo_elements_children-&gt;create_iterator( ).
lo_elements_element ?= lo_elements_iterator-&gt;get_next( ).
while lo_elements_element is bound.
case lo_elements_element-&gt;get_name( ).
when c_color_scheme.
color_scheme-&gt;load( io_color_scheme = lo_elements_element ).
when c_font_scheme.
font_scheme-&gt;load( io_font_scheme = lo_elements_element ).
when c_fmt_scheme.
fmt_scheme-&gt;load( io_fmt_scheme = lo_elements_element ).
endcase.
lo_elements_element ?= lo_elements_iterator-&gt;get_next( ).
endwhile.
endmethod. &quot;load</source>
</method>
</CLAS>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_THEME_EXTLST" VERSION="1" LANGU="E" DESCRIPT="Theme Ext List" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" WITH_UNIT_TESTS="X" 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>
<localTestClasses>*&quot;* use this source file for your ABAP unit test classes</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL_THEME_EXTLST" CMPNAME="EXTLST" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="IF_IXML_ELEMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_THEME_EXTLST" CMPNAME="BUILD_XML" 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_EXTLST" CMPNAME="BUILD_XML" SCONAME="IO_DOCUMENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<source>method build_xml.
data: lo_theme_element type ref to if_ixml_element.
data: lo_theme type ref to if_ixml_element.
data: lo_theme_objdef type ref to if_ixml_element.
check io_document is bound.
lo_theme ?= io_document-&gt;get_root_element( ).
check lo_theme is bound.
if extlst is initial.
lo_theme_objdef ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix
name = zcl_excel_theme=&gt;c_theme_extlst
parent = lo_theme ).
else.
lo_theme-&gt;append_child( new_child = extlst ).
endif.
endmethod. &quot;build_xml</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_EXTLST" CMPNAME="LOAD" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME_EXTLST" CMPNAME="LOAD" SCONAME="IO_EXTLST" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
<source>method load.
&quot;! so far copy only existing values
extlst ?= io_extlst.
endmethod. &quot;load</source>
</method>
</CLAS>

View File

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_THEME_FMT_SCHEME" VERSION="1" LANGU="E" DESCRIPT="Theme FMT Scheme" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" WITH_UNIT_TESTS="X" 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>
<localTestClasses>*&quot;* use this source file for your ABAP unit test classes</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL_THEME_FMT_SCHEME" CMPNAME="FMT_SCHEME" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="IF_IXML_ELEMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_THEME_FMT_SCHEME" CMPNAME="BUILD_XML" 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_FMT_SCHEME" CMPNAME="BUILD_XML" SCONAME="IO_DOCUMENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<source>method build_xml.
data: lo_xml type ref to cl_xml_document.
data: lo_node type ref to if_ixml_node.
data: default_fmt_scheme type string.
data: lo_scheme_element type ref to if_ixml_element.
data: lo_elements type ref to if_ixml_element.
check io_document is bound.
lo_elements ?= io_document-&gt;find_from_name_ns( name = zcl_excel_theme=&gt;c_theme_elements ).
if lo_elements is bound.
if fmt_scheme is initial.
create object lo_xml.
lo_xml-&gt;parse_string( get_default_fmt( ) ).
lo_node = lo_xml-&gt;get_first_node( ).
lo_elements-&gt;append_child( new_child = lo_node ).
else.
lo_elements-&gt;append_child( new_child = fmt_scheme ).
endif.
endif.
endmethod. &quot;build_xml</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FMT_SCHEME" CMPNAME="GET_DEFAULT_FMT" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME_FMT_SCHEME" CMPNAME="GET_DEFAULT_FMT" SCONAME="RV_STRING" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<source>method get_default_fmt.
concatenate &apos;&lt;a:fmtScheme name=&quot;Office&quot;&gt;&apos;
&apos; &lt;a:fillStyleLst&gt;&apos;
&apos; &lt;a:solidFill&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;
&apos; &lt;/a:solidFill&gt;&apos;
&apos; &lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&apos;
&apos; &lt;a:gsLst&gt;&apos;
&apos; &lt;a:gs pos=&quot;0&quot;&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:lumMod val=&quot;110000&quot;/&gt;&apos;
&apos; &lt;a:satMod val=&quot;105000&quot;/&gt;&apos;
&apos; &lt;a:tint val=&quot;67000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:gs&gt;&apos;
&apos; &lt;a:gs pos=&quot;50000&quot;&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:lumMod val=&quot;105000&quot;/&gt;&apos;
&apos; &lt;a:satMod val=&quot;103000&quot;/&gt;&apos;
&apos; &lt;a:tint val=&quot;73000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:gs&gt;&apos;
&apos; &lt;a:gs pos=&quot;100000&quot;&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:lumMod val=&quot;105000&quot;/&gt;&apos;
&apos; &lt;a:satMod val=&quot;109000&quot;/&gt;&apos;
&apos; &lt;a:tint val=&quot;81000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:gs&gt;&apos;
&apos; &lt;/a:gsLst&gt;&apos;
&apos; &lt;a:lin ang=&quot;5400000&quot; scaled=&quot;0&quot;/&gt;&apos;
&apos; &lt;/a:gradFill&gt;&apos;
&apos; &lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&apos;
&apos; &lt;a:gsLst&gt;&apos;
&apos; &lt;a:gs pos=&quot;0&quot;&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:satMod val=&quot;103000&quot;/&gt;&apos;
&apos; &lt;a:lumMod val=&quot;102000&quot;/&gt;&apos;
&apos; &lt;a:tint val=&quot;94000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:gs&gt;&apos;
&apos; &lt;a:gs pos=&quot;50000&quot;&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:satMod val=&quot;110000&quot;/&gt;&apos;
&apos; &lt;a:lumMod val=&quot;100000&quot;/&gt;&apos;
&apos; &lt;a:shade val=&quot;100000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:gs&gt;&apos;
&apos; &lt;a:gs pos=&quot;100000&quot;&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:lumMod val=&quot;99000&quot;/&gt;&apos;
&apos; &lt;a:satMod val=&quot;120000&quot;/&gt;&apos;
&apos; &lt;a:shade val=&quot;78000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:gs&gt;&apos;
&apos; &lt;/a:gsLst&gt;&apos;
&apos; &lt;a:lin ang=&quot;5400000&quot; scaled=&quot;0&quot;/&gt;&apos;
&apos; &lt;/a:gradFill&gt;&apos;
&apos; &lt;/a:fillStyleLst&gt;&apos;
&apos; &lt;a:lnStyleLst&gt;&apos;
&apos; &lt;a:ln w=&quot;6350&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&apos;
&apos; &lt;a:solidFill&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;
&apos; &lt;/a:solidFill&gt;&apos;
&apos; &lt;a:prstDash val=&quot;solid&quot;/&gt;&apos;
&apos; &lt;a:miter lim=&quot;800000&quot;/&gt;&apos;
&apos; &lt;/a:ln&gt;&apos;
&apos; &lt;a:ln w=&quot;12700&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&apos;
&apos; &lt;a:solidFill&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;
&apos; &lt;/a:solidFill&gt;&apos;
&apos; &lt;a:prstDash val=&quot;solid&quot;/&gt;&apos;
&apos; &lt;a:miter lim=&quot;800000&quot;/&gt;&apos;
&apos; &lt;/a:ln&gt;&apos;
&apos; &lt;a:ln w=&quot;19050&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&apos;
&apos; &lt;a:solidFill&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;
&apos; &lt;/a:solidFill&gt;&apos;
&apos; &lt;a:prstDash val=&quot;solid&quot;/&gt;&apos;
&apos; &lt;a:miter lim=&quot;800000&quot;/&gt;&apos;
&apos; &lt;/a:ln&gt;&apos;
&apos; &lt;/a:lnStyleLst&gt;&apos;
&apos; &lt;a:effectStyleLst&gt;&apos;
&apos; &lt;a:effectStyle&gt;&apos;
&apos; &lt;a:effectLst/&gt;&apos;
&apos; &lt;/a:effectStyle&gt;&apos;
&apos; &lt;a:effectStyle&gt;&apos;
&apos; &lt;a:effectLst/&gt;&apos;
&apos; &lt;/a:effectStyle&gt;&apos;
&apos; &lt;a:effectStyle&gt;&apos;
&apos; &lt;a:effectLst&gt;&apos;
&apos; &lt;a:outerShdw blurRad=&quot;57150&quot; dist=&quot;19050&quot; dir=&quot;5400000&quot; algn=&quot;ctr&quot; rotWithShape=&quot;0&quot;&gt;&apos;
&apos; &lt;a:srgbClr val=&quot;000000&quot;&gt;&apos;
&apos; &lt;a:alpha val=&quot;63000&quot;/&gt;&apos;
&apos; &lt;/a:srgbClr&gt;&apos;
&apos; &lt;/a:outerShdw&gt;&apos;
&apos; &lt;/a:effectLst&gt;&apos;
&apos; &lt;/a:effectStyle&gt;&apos;
&apos; &lt;/a:effectStyleLst&gt;&apos;
&apos; &lt;a:bgFillStyleLst&gt;&apos;
&apos; &lt;a:solidFill&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;
&apos; &lt;/a:solidFill&gt;&apos;
&apos; &lt;a:solidFill&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:tint val=&quot;95000&quot;/&gt;&apos;
&apos; &lt;a:satMod val=&quot;170000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:solidFill&gt;&apos;
&apos; &lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&apos;
&apos; &lt;a:gsLst&gt;&apos;
&apos; &lt;a:gs pos=&quot;0&quot;&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:tint val=&quot;93000&quot;/&gt;&apos;
&apos; &lt;a:satMod val=&quot;150000&quot;/&gt;&apos;
&apos; &lt;a:shade val=&quot;98000&quot;/&gt;&apos;
&apos; &lt;a:lumMod val=&quot;102000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:gs&gt;&apos;
&apos; &lt;a:gs pos=&quot;50000&quot;&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:tint val=&quot;98000&quot;/&gt;&apos;
&apos; &lt;a:satMod val=&quot;130000&quot;/&gt;&apos;
&apos; &lt;a:shade val=&quot;90000&quot;/&gt;&apos;
&apos; &lt;a:lumMod val=&quot;103000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:gs&gt;&apos;
&apos; &lt;a:gs pos=&quot;100000&quot;&gt;&apos;
&apos; &lt;a:schemeClr val=&quot;phClr&quot;&gt;&apos;
&apos; &lt;a:shade val=&quot;63000&quot;/&gt;&apos;
&apos; &lt;a:satMod val=&quot;120000&quot;/&gt;&apos;
&apos; &lt;/a:schemeClr&gt;&apos;
&apos; &lt;/a:gs&gt;&apos;
&apos; &lt;/a:gsLst&gt;&apos;
&apos; &lt;a:lin ang=&quot;5400000&quot; scaled=&quot;0&quot;/&gt;&apos;
&apos; &lt;/a:gradFill&gt;&apos;
&apos; &lt;/a:bgFillStyleLst&gt;&apos;
&apos; &lt;/a:fmtScheme&gt;&apos;
into rv_string .
endmethod. &quot;get_default_fmt</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FMT_SCHEME" CMPNAME="LOAD" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME_FMT_SCHEME" CMPNAME="LOAD" SCONAME="IO_FMT_SCHEME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
<source>method load.
&quot;! so far copy only existing values
fmt_scheme ?= io_fmt_scheme.
endmethod. &quot;load</source>
</method>
</CLAS>

View File

@ -0,0 +1,479 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" VERSION="1" LANGU="E" DESCRIPT="Theme Font Scheme" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" WITH_UNIT_TESTS="X" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<types CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="T_FONT" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " TYPTYPE="4" SRCROW1="26 " SRCCOLUMN1="11 " SRCROW2="29 " SRCCOLUMN2="24 " TYPESRC_LENG="113 " TYPESRC="begin of t_font,
script type string,
typeface type string,
end of t_font
"/>
<types CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="TT_FONT" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " TYPTYPE="4" SRCROW1="30 " SRCCOLUMN1="12 " SRCROW2="30 " SRCCOLUMN2="69 " TYPESRC_LENG="60 " TYPESRC="tt_font type sorted table of t_font with unique key script
"/>
<types CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="T_FONTTYPE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="3 " TYPTYPE="4" SRCROW1="31 " SRCCOLUMN1="11 " SRCROW2="36 " SRCCOLUMN2="27 " TYPESRC_LENG="188 " TYPESRC="begin of t_fonttype,
typeface type string,
panose type string,
pitchfamily type string,
charset type string,
end of t_fonttype
"/>
<types CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="T_FONTS" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="4 " TYPTYPE="4" SRCROW1="37 " SRCCOLUMN1="11 " SRCROW2="42 " SRCCOLUMN2="24 " TYPESRC_LENG="177 " TYPESRC="begin of t_fonts,
latin type t_fonttype,
ea type t_fonttype,
cs type t_fonttype,
fonts type tt_font,
end of t_fonts
"/>
<types CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="T_SCHEME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="5 " TYPTYPE="4" SRCROW1="43 " SRCCOLUMN1="11 " SRCROW2="47 " SRCCOLUMN2="25 " TYPESRC_LENG="142 " TYPESRC="begin of t_scheme,
name type string,
major type t_fonts,
minor type t_fonts,
end of t_scheme
"/>
<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>
<localTestClasses>*&quot;* use this source file for your ABAP unit test classes</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_CHARSET" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="12 " ATTDECLTYP="2" ATTVALUE="&apos;charset&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_CS" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " ATTDECLTYP="2" ATTVALUE="&apos;cs&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_EA" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="7 " ATTDECLTYP="2" ATTVALUE="&apos;ea&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_FONT" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="5 " ATTDECLTYP="2" ATTVALUE="&apos;font&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_LATIN" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="6 " ATTDECLTYP="2" ATTVALUE="&apos;latin&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_MAJOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="3 " ATTDECLTYP="2" ATTVALUE="&apos;majorFont&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_MINOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="4 " ATTDECLTYP="2" ATTVALUE="&apos;minorFont&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_NAME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " 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_FONT_SCHEME" CMPNAME="C_PANOSE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="10 " ATTDECLTYP="2" ATTVALUE="&apos;panose&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_PITCHFAMILY" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="11 " ATTDECLTYP="2" ATTVALUE="&apos;pitchFamily&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_SCHEME" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="2 " ATTDECLTYP="2" ATTVALUE="&apos;fontScheme&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_SCRIPT" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="13 " ATTDECLTYP="2" ATTVALUE="&apos;script&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="C_TYPEFACE" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="9 " ATTDECLTYP="2" ATTVALUE="&apos;typeface&apos;" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="FONT_SCHEME" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="T_SCHEME" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="BUILD_XML" 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_FONT_SCHEME" CMPNAME="BUILD_XML" SCONAME="IO_DOCUMENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<source>method build_xml.
data: lo_scheme_element type ref to if_ixml_element.
data: lo_font type ref to if_ixml_element.
data: lo_latin type ref to if_ixml_element.
data: lo_ea type ref to if_ixml_element.
data: lo_cs type ref to if_ixml_element.
data: lo_major type ref to if_ixml_element.
data: lo_minor type ref to if_ixml_element.
data: lo_elements type ref to if_ixml_element.
field-symbols: &lt;font&gt; type t_font.
check io_document is bound.
lo_elements ?= io_document-&gt;find_from_name_ns( name = zcl_excel_theme=&gt;c_theme_elements ).
if lo_elements is bound.
lo_scheme_element ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = zcl_excel_theme_elements=&gt;c_font_scheme
parent = lo_elements ).
lo_scheme_element-&gt;set_attribute( name = c_name value = font_scheme-name ).
lo_major ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_major
parent = lo_scheme_element ).
if lo_major is bound.
lo_latin ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_latin
parent = lo_major ).
lo_latin-&gt;set_attribute( name = c_typeface value = font_scheme-major-latin-typeface ).
if font_scheme-major-latin-panose is not initial.
lo_latin-&gt;set_attribute( name = c_panose value = font_scheme-major-latin-panose ).
endif.
if font_scheme-major-latin-pitchfamily is not initial.
lo_latin-&gt;set_attribute( name = c_pitchfamily value = font_scheme-major-latin-pitchfamily ).
endif.
if font_scheme-major-latin-charset is not initial.
lo_latin-&gt;set_attribute( name = c_charset value = font_scheme-major-latin-charset ).
endif.
lo_ea ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_ea
parent = lo_major ).
lo_ea-&gt;set_attribute( name = c_typeface value = font_scheme-major-ea-typeface ).
if font_scheme-major-ea-panose is not initial.
lo_ea-&gt;set_attribute( name = c_panose value = font_scheme-major-ea-panose ).
endif.
if font_scheme-major-ea-pitchfamily is not initial.
lo_ea-&gt;set_attribute( name = c_pitchfamily value = font_scheme-major-ea-pitchfamily ).
endif.
if font_scheme-major-ea-charset is not initial.
lo_ea-&gt;set_attribute( name = c_charset value = font_scheme-major-ea-charset ).
endif.
lo_cs ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_cs
parent = lo_major ).
lo_cs-&gt;set_attribute( name = c_typeface value = font_scheme-major-cs-typeface ).
if font_scheme-major-cs-panose is not initial.
lo_cs-&gt;set_attribute( name = c_panose value = font_scheme-major-cs-panose ).
endif.
if font_scheme-major-cs-pitchfamily is not initial.
lo_cs-&gt;set_attribute( name = c_pitchfamily value = font_scheme-major-cs-pitchfamily ).
endif.
if font_scheme-major-cs-charset is not initial.
lo_cs-&gt;set_attribute( name = c_charset value = font_scheme-major-cs-charset ).
endif.
loop at font_scheme-major-fonts assigning &lt;font&gt;.
if &lt;font&gt;-script is not initial and &lt;font&gt;-typeface is not initial.
clear lo_font.
lo_font ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_font
parent = lo_major ).
lo_font-&gt;set_attribute( name = c_script value = &lt;font&gt;-script ).
lo_font-&gt;set_attribute( name = c_typeface value = &lt;font&gt;-typeface ).
endif.
endloop.
clear: lo_latin, lo_ea, lo_cs, lo_font.
endif.
lo_minor ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_minor
parent = lo_scheme_element ).
if lo_minor is bound.
lo_latin ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_latin
parent = lo_minor ).
lo_latin-&gt;set_attribute( name = c_typeface value = font_scheme-minor-latin-typeface ).
if font_scheme-minor-latin-panose is not initial.
lo_latin-&gt;set_attribute( name = c_panose value = font_scheme-minor-latin-panose ).
endif.
if font_scheme-minor-latin-pitchfamily is not initial.
lo_latin-&gt;set_attribute( name = c_pitchfamily value = font_scheme-minor-latin-pitchfamily ).
endif.
if font_scheme-minor-latin-charset is not initial.
lo_latin-&gt;set_attribute( name = c_charset value = font_scheme-minor-latin-charset ).
endif.
lo_ea ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_ea
parent = lo_minor ).
lo_ea-&gt;set_attribute( name = c_typeface value = font_scheme-minor-ea-typeface ).
if font_scheme-minor-ea-panose is not initial.
lo_ea-&gt;set_attribute( name = c_panose value = font_scheme-minor-ea-panose ).
endif.
if font_scheme-minor-ea-pitchfamily is not initial.
lo_ea-&gt;set_attribute( name = c_pitchfamily value = font_scheme-minor-ea-pitchfamily ).
endif.
if font_scheme-minor-ea-charset is not initial.
lo_ea-&gt;set_attribute( name = c_charset value = font_scheme-minor-ea-charset ).
endif.
lo_cs ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_cs
parent = lo_minor ).
lo_cs-&gt;set_attribute( name = c_typeface value = font_scheme-minor-cs-typeface ).
if font_scheme-minor-cs-panose is not initial.
lo_cs-&gt;set_attribute( name = c_panose value = font_scheme-minor-cs-panose ).
endif.
if font_scheme-minor-cs-pitchfamily is not initial.
lo_cs-&gt;set_attribute( name = c_pitchfamily value = font_scheme-minor-cs-pitchfamily ).
endif.
if font_scheme-minor-cs-charset is not initial.
lo_cs-&gt;set_attribute( name = c_charset value = font_scheme-minor-cs-charset ).
endif.
loop at font_scheme-minor-fonts assigning &lt;font&gt;.
if &lt;font&gt;-script is not initial and &lt;font&gt;-typeface is not initial.
clear lo_font.
lo_font ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix name = c_font
parent = lo_minor ).
lo_font-&gt;set_attribute( name = c_script value = &lt;font&gt;-script ).
lo_font-&gt;set_attribute( name = c_typeface value = &lt;font&gt;-typeface ).
endif.
endloop.
clear: lo_latin, lo_ea, lo_cs, lo_font.
endif.
endif.
endmethod. &quot;build_xml</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="CONSTRUCTOR" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="8 " DISPID="0 " MTDTYPE="2" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>method constructor.
set_defaults( ).
endmethod. &quot;constructor</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="LOAD" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="LOAD" SCONAME="IO_FONT_SCHEME" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
<source>method load.
data: lo_scheme_children type ref to if_ixml_node_list.
data: lo_scheme_iterator type ref to if_ixml_node_iterator.
data: lo_scheme_element type ref to if_ixml_element.
data: lo_major_children type ref to if_ixml_node_list.
data: lo_major_iterator type ref to if_ixml_node_iterator.
data: lo_major_element type ref to if_ixml_element.
data: lo_minor_children type ref to if_ixml_node_list.
data: lo_minor_iterator type ref to if_ixml_node_iterator.
data: lo_minor_element type ref to if_ixml_element.
data: ls_font type t_font.
check io_font_scheme is not initial.
clear font_scheme.
font_scheme-name = io_font_scheme-&gt;get_attribute( name = c_name ).
lo_scheme_children = io_font_scheme-&gt;get_children( ).
lo_scheme_iterator = lo_scheme_children-&gt;create_iterator( ).
lo_scheme_element ?= lo_scheme_iterator-&gt;get_next( ).
while lo_scheme_element is bound.
case lo_scheme_element-&gt;get_name( ).
when c_major.
lo_major_children = lo_scheme_element-&gt;get_children( ).
lo_major_iterator = lo_major_children-&gt;create_iterator( ).
lo_major_element ?= lo_major_iterator-&gt;get_next( ).
while lo_major_element is bound.
case lo_major_element-&gt;get_name( ).
when c_latin.
font_scheme-major-latin-typeface = lo_major_element-&gt;get_attribute( name = c_typeface ).
font_scheme-major-latin-panose = lo_major_element-&gt;get_attribute( name = c_panose ).
font_scheme-major-latin-pitchfamily = lo_major_element-&gt;get_attribute( name = c_pitchfamily ).
font_scheme-major-latin-charset = lo_major_element-&gt;get_attribute( name = c_charset ).
when c_ea.
font_scheme-major-ea-typeface = lo_major_element-&gt;get_attribute( name = c_typeface ).
font_scheme-major-ea-panose = lo_major_element-&gt;get_attribute( name = c_panose ).
font_scheme-major-ea-pitchfamily = lo_major_element-&gt;get_attribute( name = c_pitchfamily ).
font_scheme-major-ea-charset = lo_major_element-&gt;get_attribute( name = c_charset ).
when c_cs.
font_scheme-major-cs-typeface = lo_major_element-&gt;get_attribute( name = c_typeface ).
font_scheme-major-cs-panose = lo_major_element-&gt;get_attribute( name = c_panose ).
font_scheme-major-cs-pitchfamily = lo_major_element-&gt;get_attribute( name = c_pitchfamily ).
font_scheme-major-cs-charset = lo_major_element-&gt;get_attribute( name = c_charset ).
when c_font.
clear ls_font.
ls_font-script = lo_major_element-&gt;get_attribute( name = c_script ).
ls_font-typeface = lo_major_element-&gt;get_attribute( name = c_typeface ).
try.
insert ls_font into table font_scheme-major-fonts.
catch cx_root. &quot;not the best but just to avoid duplicate lines dump
endtry.
endcase.
lo_major_element ?= lo_major_iterator-&gt;get_next( ).
endwhile.
when c_minor.
lo_minor_children = lo_scheme_element-&gt;get_children( ).
lo_minor_iterator = lo_minor_children-&gt;create_iterator( ).
lo_minor_element ?= lo_minor_iterator-&gt;get_next( ).
while lo_minor_element is bound.
case lo_minor_element-&gt;get_name( ).
when c_latin.
font_scheme-minor-latin-typeface = lo_minor_element-&gt;get_attribute( name = c_typeface ).
font_scheme-minor-latin-panose = lo_minor_element-&gt;get_attribute( name = c_panose ).
font_scheme-minor-latin-pitchfamily = lo_minor_element-&gt;get_attribute( name = c_pitchfamily ).
font_scheme-minor-latin-charset = lo_minor_element-&gt;get_attribute( name = c_charset ).
when c_ea.
font_scheme-minor-ea-typeface = lo_minor_element-&gt;get_attribute( name = c_typeface ).
font_scheme-minor-ea-panose = lo_minor_element-&gt;get_attribute( name = c_panose ).
font_scheme-minor-ea-pitchfamily = lo_minor_element-&gt;get_attribute( name = c_pitchfamily ).
font_scheme-minor-ea-charset = lo_minor_element-&gt;get_attribute( name = c_charset ).
when c_cs.
font_scheme-minor-cs-typeface = lo_minor_element-&gt;get_attribute( name = c_typeface ).
font_scheme-minor-cs-panose = lo_minor_element-&gt;get_attribute( name = c_panose ).
font_scheme-minor-cs-pitchfamily = lo_minor_element-&gt;get_attribute( name = c_pitchfamily ).
font_scheme-minor-cs-charset = lo_minor_element-&gt;get_attribute( name = c_charset ).
when c_font.
clear ls_font.
ls_font-script = lo_minor_element-&gt;get_attribute( name = c_script ).
ls_font-typeface = lo_minor_element-&gt;get_attribute( name = c_typeface ).
try.
insert ls_font into table font_scheme-minor-fonts.
catch cx_root. &quot;not the best but just to avoid duplicate lines dump
endtry.
endcase.
lo_minor_element ?= lo_minor_iterator-&gt;get_next( ).
endwhile.
endcase.
lo_scheme_element ?= lo_scheme_iterator-&gt;get_next( ).
endwhile.
endmethod. &quot;load</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="MODIFY_CS_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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 modify_cs_font.
modify_lec_fonts(
exporting
iv_type = iv_type
iv_font_type = c_cs
iv_typeface = iv_typeface
iv_panose = iv_panose
iv_pitchfamily = iv_pitchfamily
iv_charset = iv_charset
).
endmethod. &quot;modify_latin_font</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="MODIFY_EA_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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 modify_ea_font.
modify_lec_fonts(
exporting
iv_type = iv_type
iv_font_type = c_ea
iv_typeface = iv_typeface
iv_panose = iv_panose
iv_pitchfamily = iv_pitchfamily
iv_charset = iv_charset
).
endmethod. &quot;modify_latin_font</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="MODIFY_FONT" 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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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 modify_font.
data: ls_font type t_font.
field-symbols: &lt;font&gt; type t_font.
ls_font-script = iv_script.
ls_font-typeface = iv_typeface.
try.
case iv_type.
when c_major.
read table font_scheme-major-fonts with key script = iv_script assigning &lt;font&gt;.
if sy-subrc eq 0.
&lt;font&gt; = ls_font.
else.
insert ls_font into table font_scheme-major-fonts.
endif.
when c_minor.
read table font_scheme-minor-fonts with key script = iv_script assigning &lt;font&gt;.
if sy-subrc eq 0.
&lt;font&gt; = ls_font.
else.
insert ls_font into table font_scheme-minor-fonts.
endif.
endcase.
catch cx_root. &quot;not the best but just to avoid duplicate lines dump
endtry.
endmethod. &quot;add_font</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="MODIFY_LATIN_FONT" 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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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_FONT_SCHEME" CMPNAME="MODIFY_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 modify_latin_font.
modify_lec_fonts(
exporting
iv_type = iv_type
iv_font_type = c_latin
iv_typeface = iv_typeface
iv_panose = iv_panose
iv_pitchfamily = iv_pitchfamily
iv_charset = iv_charset
).
endmethod. &quot;modify_latin_font</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="MODIFY_LEC_FONTS" VERSION="1" LANGU="E" EXPOSURE="1" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="MODIFY_LEC_FONTS" 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_FONT_SCHEME" CMPNAME="MODIFY_LEC_FONTS" SCONAME="IV_FONT_TYPE" 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_FONT_SCHEME" CMPNAME="MODIFY_LEC_FONTS" SCONAME="IV_TYPEFACE" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="MODIFY_LEC_FONTS" SCONAME="IV_PANOSE" 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_FONT_SCHEME" CMPNAME="MODIFY_LEC_FONTS" SCONAME="IV_PITCHFAMILY" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="5 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<parameter CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="MODIFY_LEC_FONTS" SCONAME="IV_CHARSET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="6 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING" PAROPTIONL="X"/>
<source>method modify_lec_fonts.
field-symbols: &lt;type&gt; type t_fonts,
&lt;font&gt; type t_fonttype.
case iv_type.
when c_minor.
assign font_scheme-minor to &lt;type&gt;.
when c_major.
assign font_scheme-major to &lt;type&gt;.
when others.
return.
endcase.
check &lt;type&gt; is assigned.
case iv_font_type.
when c_latin.
assign &lt;type&gt;-latin to &lt;font&gt;.
when c_ea.
assign &lt;type&gt;-ea to &lt;font&gt;.
when c_cs.
assign &lt;type&gt;-cs to &lt;font&gt;.
when others.
return.
endcase.
check &lt;font&gt; is assigned.
&lt;font&gt;-typeface = iv_typeface.
&lt;font&gt;-panose = iv_panose.
&lt;font&gt;-pitchfamily = iv_pitchfamily.
&lt;font&gt;-charset = iv_charset.
endmethod. &quot;modify_lec_fonts</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="SET_DEFAULTS" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<source>method set_defaults.
clear font_scheme.
font_scheme-name = &apos;Office&apos;.
font_scheme-major-latin-typeface = &apos;Calibri Light&apos;.
font_scheme-major-latin-panose = &apos;020F0302020204030204&apos;.
modify_font( iv_type = c_major iv_script = &apos;Jpan&apos; iv_typeface = &apos; Pゴシック&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Hang&apos; iv_typeface = &apos;맑은 고딕&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Hans&apos; iv_typeface = &apos;宋体&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Hant&apos; iv_typeface = &apos;新細明體&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Arab&apos; iv_typeface = &apos;Times New Roman&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Hebr&apos; iv_typeface = &apos;Times New Roman&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Thai&apos; iv_typeface = &apos;Tahoma&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Ethi&apos; iv_typeface = &apos;Nyala&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Beng&apos; iv_typeface = &apos;Vrinda&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Gujr&apos; iv_typeface = &apos;Shruti&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Khmr&apos; iv_typeface = &apos;MoolBoran&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Knda&apos; iv_typeface = &apos;Tunga&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Guru&apos; iv_typeface = &apos;Raavi&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Cans&apos; iv_typeface = &apos;Euphemia&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Cher&apos; iv_typeface = &apos;Plantagenet Cherokee&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Yiii&apos; iv_typeface = &apos;Microsoft Yi Baiti&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Tibt&apos; iv_typeface = &apos;Microsoft Himalaya&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Thaa&apos; iv_typeface = &apos;MV Boli&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Deva&apos; iv_typeface = &apos;Mangal&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Telu&apos; iv_typeface = &apos;Gautami&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Taml&apos; iv_typeface = &apos;Latha&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Syrc&apos; iv_typeface = &apos;Estrangelo Edessa&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Orya&apos; iv_typeface = &apos;Kalinga&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Mlym&apos; iv_typeface = &apos;Kartika&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Laoo&apos; iv_typeface = &apos;DokChampa&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Sinh&apos; iv_typeface = &apos;Iskoola Pota&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Mong&apos; iv_typeface = &apos;Mongolian Baiti&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Viet&apos; iv_typeface = &apos;Times New Roman&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Uigh&apos; iv_typeface = &apos;Microsoft Uighur&apos; ).
modify_font( iv_type = c_major iv_script = &apos;Geor&apos; iv_typeface = &apos;Sylfaen&apos; ).
font_scheme-minor-latin-typeface = &apos;Calibri&apos;.
font_scheme-minor-latin-panose = &apos;020F0502020204030204&apos;.
modify_font( iv_type = c_minor iv_script = &apos;Jpan&apos; iv_typeface = &apos; Pゴシック&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Hang&apos; iv_typeface = &apos;맑은 고딕&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Hans&apos; iv_typeface = &apos;宋体&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Hant&apos; iv_typeface = &apos;新細明體&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Arab&apos; iv_typeface = &apos;Arial&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Hebr&apos; iv_typeface = &apos;Arial&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Thai&apos; iv_typeface = &apos;Tahoma&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Ethi&apos; iv_typeface = &apos;Nyala&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Beng&apos; iv_typeface = &apos;Vrinda&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Gujr&apos; iv_typeface = &apos;Shruti&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Khmr&apos; iv_typeface = &apos;DaunPenh&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Knda&apos; iv_typeface = &apos;Tunga&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Guru&apos; iv_typeface = &apos;Raavi&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Cans&apos; iv_typeface = &apos;Euphemia&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Cher&apos; iv_typeface = &apos;Plantagenet Cherokee&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Yiii&apos; iv_typeface = &apos;Microsoft Yi Baiti&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Tibt&apos; iv_typeface = &apos;Microsoft Himalaya&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Thaa&apos; iv_typeface = &apos;MV Boli&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Deva&apos; iv_typeface = &apos;Mangal&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Telu&apos; iv_typeface = &apos;Gautami&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Taml&apos; iv_typeface = &apos;Latha&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Syrc&apos; iv_typeface = &apos;Estrangelo Edessa&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Orya&apos; iv_typeface = &apos;Kalinga&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Mlym&apos; iv_typeface = &apos;Kartika&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Laoo&apos; iv_typeface = &apos;DokChampa&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Sinh&apos; iv_typeface = &apos;Iskoola Pota&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Mong&apos; iv_typeface = &apos;Mongolian Baiti&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Viet&apos; iv_typeface = &apos;Arial&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Uigh&apos; iv_typeface = &apos;Microsoft Uighur&apos; ).
modify_font( iv_type = c_minor iv_script = &apos;Geor&apos; iv_typeface = &apos;Sylfaen&apos; ).
endmethod. &quot;set_defaults</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_FONT_SCHEME" CMPNAME="SET_NAME" 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_FONT_SCHEME" CMPNAME="SET_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_name.
font_scheme-name = iv_name.
endmethod. &quot;set_name</source>
</method>
</CLAS>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_THEME_OBJECTDEFAULTS" VERSION="1" LANGU="E" DESCRIPT="Theme Object Defaults" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" WITH_UNIT_TESTS="X" 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>
<localTestClasses>*&quot;* use this source file for your ABAP unit test classes</localTestClasses>
<attribute CLSNAME="ZCL_EXCEL_THEME_OBJECTDEFAULTS" CMPNAME="OBJECTDEFAULTS" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="3" TYPE="IF_IXML_ELEMENT" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_THEME_OBJECTDEFAULTS" CMPNAME="BUILD_XML" 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_OBJECTDEFAULTS" CMPNAME="BUILD_XML" SCONAME="IO_DOCUMENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_DOCUMENT"/>
<source>method build_xml.
data: lo_theme_element type ref to if_ixml_element.
data: lo_theme type ref to if_ixml_element.
data: lo_theme_objdef type ref to if_ixml_element.
check io_document is bound.
lo_theme ?= io_document-&gt;get_root_element( ).
check lo_theme is bound.
if objectdefaults is initial.
lo_theme_objdef ?= io_document-&gt;create_simple_element_ns( prefix = zcl_excel_theme=&gt;c_theme_prefix
name = zcl_excel_theme=&gt;c_theme_object_def
parent = lo_theme ).
else.
lo_theme-&gt;append_child( new_child = objectdefaults ).
endif.
endmethod. &quot;build_xml</source>
</method>
<method CLSNAME="ZCL_EXCEL_THEME_OBJECTDEFAULTS" CMPNAME="LOAD" VERSION="1" LANGU="E" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_THEME_OBJECTDEFAULTS" CMPNAME="LOAD" SCONAME="IO_OBJECT_DEF" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="3" TYPE="IF_IXML_ELEMENT"/>
<source>method load.
&quot;! so far copy only existing values
objectdefaults ?= io_object_def.
endmethod. &quot;load</source>
</method>
</CLAS>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<CLAS CLSNAME="ZCL_EXCEL_WRITER_2007" VERSION="1" LANGU="E" DESCRIPT="Excel writer 2007" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 " ZSAPLINK_PLUGIN_MAJOR_VERSION="0 " ZSAPLINK_PLUGIN_MINOR_VERSION="1 " ZSAPLINK_PLUGIN_BUILD_VERSION="0 " ZSAPLINK_PLUGIN_INFO1="ZSAPLINK_CLASS is part of the main ZSAPLINK project --&gt; This plugin found there instead of ZSAPLINK_PLUGINS projects" ZSAPLINK_PLUGIN_INFO2="SAPLINK homepage: https://www.assembla.com/spaces/saplink/wiki" ZSAPLINK_PLUGIN_INFO3="Download from https://www.assembla.com/code/saplink/subversion/nodes" ZSAPLINK_PLUGIN_INFO4="and navigate to: trunk -&gt; core -&gt; ZSAPLINK -&gt; CLAS -&gt; ZSAPLINK_CLASS.slnk">
<CLAS CLSNAME="ZCL_EXCEL_WRITER_2007" VERSION="1" LANGU="E" DESCRIPT="Excel writer 2007" CATEGORY="00" EXPOSURE="2" STATE="1" RELEASE="0" CLSCCINCL="X" FIXPT="X" UNICODE="X" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<implementing CLSNAME="ZCL_EXCEL_WRITER_2007" REFCLSNAME="ZIF_EXCEL_WRITER" VERSION="1" EXPOSURE="2" STATE="1" RELTYPE="1" EDITORDER="1 "/>
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
@ -2585,10 +2585,29 @@ ENDMETHOD.</source>
lv_size = excel-&gt;get_worksheets_size( ).
&quot; Relationship node
lo_element = lo_document-&gt;create_simple_element( name = lc_xml_node_relationship
parent = lo_document ).
lv_size = lv_size + 1.
lv_syindex = lv_size.
shift lv_syindex RIGHT DELETING TRAILING space.
shift lv_syindex left DELETING leading space.
lv_xml_node_ridx_id = lc_xml_node_ridx_id.
replace all occurrences of &apos;#&apos; in lv_xml_node_ridx_id with lv_syindex.
lo_element-&gt;set_attribute_ns( name = lc_xml_attr_id
value = lv_xml_node_ridx_id ).
lo_element-&gt;set_attribute_ns( name = lc_xml_attr_type
value = lc_xml_node_rid_theme_tp ).
lo_element-&gt;set_attribute_ns( name = lc_xml_attr_target
value = lc_xml_node_rid_theme_tg ).
lo_element_root-&gt;append_child( new_child = lo_element ).
&quot; Relationship node
lo_element = lo_document-&gt;create_simple_element( name = lc_xml_node_relationship
parent = lo_document ).
lv_size = lv_size + 2.
lv_size = lv_size + 1.
lv_syindex = lv_size.
SHIFT lv_syindex RIGHT DELETING TRAILING space.
SHIFT lv_syindex LEFT DELETING LEADING space.
@ -2603,22 +2622,6 @@ ENDMETHOD.</source>
lo_element_root-&gt;append_child( new_child = lo_element ).
&quot; Relationship node
lo_element = lo_document-&gt;create_simple_element( name = lc_xml_node_relationship
parent = lo_document ).
lv_size = lv_size - 1.
lv_syindex = lv_size.
SHIFT lv_syindex RIGHT DELETING TRAILING space.
SHIFT lv_syindex LEFT DELETING LEADING space.
lv_xml_node_ridx_id = lc_xml_node_ridx_id.
REPLACE ALL OCCURRENCES OF &apos;#&apos; IN lv_xml_node_ridx_id WITH lv_syindex.
lo_element-&gt;set_attribute_ns( name = lc_xml_attr_id
value = lv_xml_node_ridx_id ).
lo_element-&gt;set_attribute_ns( name = lc_xml_attr_type
value = lc_xml_node_rid_theme_tp ).
lo_element-&gt;set_attribute_ns( name = lc_xml_attr_target
value = lc_xml_node_rid_theme_tg ).
lo_element_root-&gt;append_child( new_child = lo_element ).
lv_size = excel-&gt;get_worksheets_size( ).
@ -6624,92 +6627,19 @@ ENDMETHOD.</source>
</method>
<method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_THEME" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/theme/theme1.xml&apos;" EXPOSURE="1" STATE="1" EDITORDER="21 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_THEME" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
<source>method CREATE_XL_THEME.
<source>method create_xl_theme.
data: lo_theme type ref to zcl_excel_theme.
excel-&gt;get_theme(
importing
eo_theme = lo_theme
).
if lo_theme is initial.
create object lo_theme.
endif.
ep_content = lo_theme-&gt;write_theme( ).
* @TODO *
DATA: lv_xl_theme TYPE string,
lv_xl_theme_01 TYPE string,
lv_xl_theme_02 TYPE string,
lv_xl_theme_03 TYPE string,
lv_xl_theme_04 TYPE string,
lv_xl_theme_05 TYPE string,
lv_xl_theme_06 TYPE string,
lv_xl_theme_07 TYPE string,
lv_xl_theme_08 TYPE string,
lv_xl_theme_09 TYPE string,
lv_xl_theme_10 TYPE string,
lv_xl_theme_11 TYPE string,
lv_xl_theme_12 TYPE string,
lv_xl_theme_13 TYPE string,
lv_xl_theme_14 TYPE string,
lv_xl_theme_15 TYPE string,
lv_xl_theme_16 TYPE string,
lv_xl_theme_17 TYPE string,
lv_xl_theme_18 TYPE string,
lv_xl_theme_19 TYPE string,
lv_xl_theme_20 TYPE string,
lv_xl_theme_21 TYPE string,
lv_xl_theme_22 TYPE string,
lv_xl_theme_23 TYPE string,
lv_xl_theme_24 TYPE string,
lv_xl_theme_25 TYPE string,
lv_xl_theme_26 TYPE string,
lv_xl_theme_27 TYPE string,
lv_xl_theme_28 TYPE string,
lv_xl_theme_29 TYPE string,
lv_xl_theme_30 TYPE string,
lv_xl_theme_31 TYPE string,
lv_xl_theme_32 TYPE string.
lv_xl_theme_01 = &apos;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;&apos;.
lv_xl_theme_02 = &apos;&lt;a:theme xmlns:a=&quot;http://schemas.openxmlformats.org/drawingml/2006/main&quot; name=&quot;Office Theme&quot;&gt;&lt;a:themeElements&gt;&lt;a:clrScheme name=&quot;Office&quot;&gt;&lt;a:dk1&gt;&lt;a:sysClr val=&quot;windowText&quot; lastClr=&quot;000000&quot;/&gt;&lt;/a:dk1&gt;&lt;a:lt1&gt;&lt;a:sysClr val=&quot;window&quot; &apos;.
lv_xl_theme_03 = &apos;lastClr=&quot;FFFFFF&quot;/&gt;&lt;/a:lt1&gt;&lt;a:dk2&gt;&lt;a:srgbClr val=&quot;1F497D&quot;/&gt;&lt;/a:dk2&gt;&lt;a:lt2&gt;&lt;a:srgbClr val=&quot;EEECE1&quot;/&gt;&lt;/a:lt2&gt;&lt;a:accent1&gt;&lt;a:srgbClr val=&quot;4F81BD&quot;/&gt;&lt;/a:accent1&gt;&lt;a:accent2&gt;&lt;a:srgbClr val=&quot;C0504D&quot;/&gt;&lt;/a:accent2&gt;&lt;a:accent3&gt;&lt;a:srgbClr &apos;.
lv_xl_theme_04 = &apos;val=&quot;9BBB59&quot;/&gt;&lt;/a:accent3&gt;&lt;a:accent4&gt;&lt;a:srgbClr val=&quot;8064A2&quot;/&gt;&lt;/a:accent4&gt;&lt;a:accent5&gt;&lt;a:srgbClr val=&quot;4BACC6&quot;/&gt;&lt;/a:accent5&gt;&lt;a:accent6&gt;&lt;a:srgbClr val=&quot;F79646&quot;/&gt;&lt;/a:accent6&gt;&lt;a:hlink&gt;&lt;a:srgbClr val=&quot;0000FF&quot;/&gt;&lt;/a:hlink&gt;&lt;a:folHlink&gt;&apos;.
lv_xl_theme_05 = &apos;&lt;a:srgbClr val=&quot;800080&quot;/&gt;&lt;/a:folHlink&gt;&lt;/a:clrScheme&gt;&lt;a:fontScheme name=&quot;Office&quot;&gt;&lt;a:majorFont&gt;&lt;a:latin typeface=&quot;Cambria&quot;/&gt;&lt;a:ea typeface=&quot;&quot;/&gt;&lt;a:cs typeface=&quot;&quot;/&gt;&apos;.
lv_xl_theme_06 = &apos;&lt;a:font script=&quot;Arab&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Hebr&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Thai&quot; &apos;.
lv_xl_theme_07 = &apos;typeface=&quot;Tahoma&quot;/&gt;&lt;a:font script=&quot;Ethi&quot; typeface=&quot;Nyala&quot;/&gt;&lt;a:font script=&quot;Beng&quot; typeface=&quot;Vrinda&quot;/&gt;&lt;a:font script=&quot;Gujr&quot; typeface=&quot;Shruti&quot;/&gt;&lt;a:font script=&quot;Khmr&quot; typeface=&quot;MoolBoran&quot;/&gt;&lt;a:font script=&quot;Knda&quot; typeface=&quot;Tunga&quot;/&gt;&lt;a:font &apos;.
lv_xl_theme_08 = &apos;script=&quot;Guru&quot; typeface=&quot;Raavi&quot;/&gt;&lt;a:font script=&quot;Cans&quot; typeface=&quot;Euphemia&quot;/&gt;&lt;a:font script=&quot;Cher&quot; typeface=&quot;Plantagenet Cherokee&quot;/&gt;&lt;a:font script=&quot;Yiii&quot; typeface=&quot;Microsoft Yi Baiti&quot;/&gt;&lt;a:font script=&quot;Tibt&quot; &apos;.
lv_xl_theme_09 = &apos;typeface=&quot;Microsoft Himalaya&quot;/&gt;&lt;a:font script=&quot;Thaa&quot; typeface=&quot;MV Boli&quot;/&gt;&lt;a:font script=&quot;Deva&quot; typeface=&quot;Mangal&quot;/&gt;&lt;a:font script=&quot;Telu&quot; typeface=&quot;Gautami&quot;/&gt;&lt;a:font script=&quot;Taml&quot; typeface=&quot;Latha&quot;/&gt;&lt;a:font script=&quot;Syrc&quot; &apos;.
lv_xl_theme_10 = &apos;typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Orya&quot; typeface=&quot;Kalinga&quot;/&gt;&lt;a:font script=&quot;Mlym&quot; typeface=&quot;Kartika&quot;/&gt;&lt;a:font script=&quot;Laoo&quot; typeface=&quot;DokChampa&quot;/&gt;&lt;a:font script=&quot;Sinh&quot; typeface=&quot;Iskoola Pota&quot;/&gt;&lt;a:font script=&quot;Mong&quot; &apos;.
lv_xl_theme_11 = &apos;typeface=&quot;Mongolian Baiti&quot;/&gt;&lt;a:font script=&quot;Viet&quot; typeface=&quot;Times New Roman&quot;/&gt;&lt;a:font script=&quot;Uigh&quot; typeface=&quot;Microsoft Uighur&quot;/&gt;&lt;/a:majorFont&gt;&lt;a:minorFont&gt;&lt;a:latin typeface=&quot;Calibri&quot;/&gt;&lt;a:ea typeface=&quot;&quot;/&gt;&lt;a:cs typeface=&quot;&quot;/&gt;&apos;.
lv_xl_theme_12 = &apos;&lt;a:font script=&quot;Arab&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Hebr&quot; &apos;.
lv_xl_theme_13 = &apos;typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Thai&quot; typeface=&quot;Tahoma&quot;/&gt;&lt;a:font script=&quot;Ethi&quot; typeface=&quot;Nyala&quot;/&gt;&lt;a:font script=&quot;Beng&quot; typeface=&quot;Vrinda&quot;/&gt;&lt;a:font script=&quot;Gujr&quot; typeface=&quot;Shruti&quot;/&gt;&lt;a:font script=&quot;Khmr&quot; typeface=&quot;DaunPenh&quot;/&gt;&lt;a:font &apos;.
lv_xl_theme_14 = &apos;script=&quot;Knda&quot; typeface=&quot;Tunga&quot;/&gt;&lt;a:font script=&quot;Guru&quot; typeface=&quot;Raavi&quot;/&gt;&lt;a:font script=&quot;Cans&quot; typeface=&quot;Euphemia&quot;/&gt;&lt;a:font script=&quot;Cher&quot; typeface=&quot;Plantagenet Cherokee&quot;/&gt;&lt;a:font script=&quot;Yiii&quot; typeface=&quot;Microsoft Yi Baiti&quot;/&gt;&lt;a:font &apos;.
lv_xl_theme_15 = &apos;script=&quot;Tibt&quot; typeface=&quot;Microsoft Himalaya&quot;/&gt;&lt;a:font script=&quot;Thaa&quot; typeface=&quot;MV Boli&quot;/&gt;&lt;a:font script=&quot;Deva&quot; typeface=&quot;Mangal&quot;/&gt;&lt;a:font script=&quot;Telu&quot; typeface=&quot;Gautami&quot;/&gt;&lt;a:font script=&quot;Taml&quot; typeface=&quot;Latha&quot;/&gt;&lt;a:font script=&quot;Syrc&quot; &apos;.
lv_xl_theme_16 = &apos;typeface=&quot;Estrangelo Edessa&quot;/&gt;&lt;a:font script=&quot;Orya&quot; typeface=&quot;Kalinga&quot;/&gt;&lt;a:font script=&quot;Mlym&quot; typeface=&quot;Kartika&quot;/&gt;&lt;a:font script=&quot;Laoo&quot; typeface=&quot;DokChampa&quot;/&gt;&lt;a:font script=&quot;Sinh&quot; typeface=&quot;Iskoola Pota&quot;/&gt;&lt;a:font script=&quot;Mong&quot; &apos;.
lv_xl_theme_17 = &apos;typeface=&quot;Mongolian Baiti&quot;/&gt;&lt;a:font script=&quot;Viet&quot; typeface=&quot;Arial&quot;/&gt;&lt;a:font script=&quot;Uigh&quot; typeface=&quot;Microsoft Uighur&quot;/&gt;&lt;/a:minorFont&gt;&lt;/a:fontScheme&gt;&lt;a:fmtScheme name=&quot;Office&quot;&gt;&lt;a:fillStyleLst&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;.
lv_xl_theme_18 = &apos;&lt;/a:solidFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;50000&quot;/&gt;&lt;a:satMod val=&quot;300000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;35000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;37000&quot;/&gt;&lt;a:satMod &apos;.
lv_xl_theme_19 = &apos;val=&quot;300000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;15000&quot;/&gt;&lt;a:satMod val=&quot;350000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:lin ang=&quot;16200000&quot; scaled=&quot;1&quot;/&gt;&lt;/a:gradFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&apos;.
lv_xl_theme_20 = &apos;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;51000&quot;/&gt;&lt;a:satMod val=&quot;130000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;80000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;93000&quot;/&gt;&lt;a:satMod val=&quot;130000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs &apos;.
lv_xl_theme_21 = &apos;pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;94000&quot;/&gt;&lt;a:satMod val=&quot;135000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:lin ang=&quot;16200000&quot; scaled=&quot;0&quot;/&gt;&lt;/a:gradFill&gt;&lt;/a:fillStyleLst&gt;&lt;a:lnStyleLst&gt;&lt;a:ln w=&quot;9525&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; &apos;.
lv_xl_theme_22 = &apos;algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;95000&quot;/&gt;&lt;a:satMod val=&quot;105000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;/a:ln&gt;&lt;a:ln w=&quot;25400&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr &apos;.
lv_xl_theme_23 = &apos;val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;/a:ln&gt;&lt;a:ln w=&quot;38100&quot; cap=&quot;flat&quot; cmpd=&quot;sng&quot; algn=&quot;ctr&quot;&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&lt;/a:solidFill&gt;&lt;a:prstDash val=&quot;solid&quot;/&gt;&lt;/a:ln&gt;&lt;/a:lnStyleLst&gt;&lt;a:effectStyleLst&gt;&apos;.
lv_xl_theme_24 = &apos;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&lt;a:outerShdw blurRad=&quot;40000&quot; dist=&quot;20000&quot; dir=&quot;5400000&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;38000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;/a:effectStyle&gt;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&apos;.
lv_xl_theme_25 = &apos;&lt;a:outerShdw blurRad=&quot;40000&quot; dist=&quot;23000&quot; dir=&quot;5400000&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;35000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;/a:effectStyle&gt;&lt;a:effectStyle&gt;&lt;a:effectLst&gt;&lt;a:outerShdw blurRad=&quot;40000&quot; &apos;.
lv_xl_theme_26 = &apos;dist=&quot;23000&quot; dir=&quot;5400000&quot; rotWithShape=&quot;0&quot;&gt;&lt;a:srgbClr val=&quot;000000&quot;&gt;&lt;a:alpha val=&quot;35000&quot;/&gt;&lt;/a:srgbClr&gt;&lt;/a:outerShdw&gt;&lt;/a:effectLst&gt;&lt;a:scene3d&gt;&lt;a:camera prst=&quot;orthographicFront&quot;&gt;&lt;a:rot lat=&quot;0&quot; lon=&quot;0&quot; rev=&quot;0&quot;/&gt;&lt;/a:camera&gt;&lt;a:lightRig &apos;.
lv_xl_theme_27 = &apos;rig=&quot;threePt&quot; dir=&quot;t&quot;&gt;&lt;a:rot lat=&quot;0&quot; lon=&quot;0&quot; rev=&quot;1200000&quot;/&gt;&lt;/a:lightRig&gt;&lt;/a:scene3d&gt;&lt;a:sp3d&gt;&lt;a:bevelT w=&quot;63500&quot; h=&quot;25400&quot;/&gt;&lt;/a:sp3d&gt;&lt;/a:effectStyle&gt;&lt;/a:effectStyleLst&gt;&lt;a:bgFillStyleLst&gt;&lt;a:solidFill&gt;&lt;a:schemeClr val=&quot;phClr&quot;/&gt;&apos;.
lv_xl_theme_28 = &apos;&lt;/a:solidFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;40000&quot;/&gt;&lt;a:satMod val=&quot;350000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;40000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;45000&quot;/&gt;&lt;a:shade &apos;.
lv_xl_theme_29 = &apos;val=&quot;99000&quot;/&gt;&lt;a:satMod val=&quot;350000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;20000&quot;/&gt;&lt;a:satMod val=&quot;255000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:path path=&quot;circle&quot;&gt;&lt;a:fillToRect l=&quot;50000&quot; &apos;.
lv_xl_theme_30 = &apos;t=&quot;-80000&quot; r=&quot;50000&quot; b=&quot;180000&quot;/&gt;&lt;/a:path&gt;&lt;/a:gradFill&gt;&lt;a:gradFill rotWithShape=&quot;1&quot;&gt;&lt;a:gsLst&gt;&lt;a:gs pos=&quot;0&quot;&gt;&lt;a:schemeClr val=&quot;phClr&quot;&gt;&lt;a:tint val=&quot;80000&quot;/&gt;&lt;a:satMod val=&quot;300000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;a:gs pos=&quot;100000&quot;&gt;&lt;a:schemeClr &apos;.
lv_xl_theme_31 = &apos;val=&quot;phClr&quot;&gt;&lt;a:shade val=&quot;30000&quot;/&gt;&lt;a:satMod val=&quot;200000&quot;/&gt;&lt;/a:schemeClr&gt;&lt;/a:gs&gt;&lt;/a:gsLst&gt;&lt;a:path path=&quot;circle&quot;&gt;&lt;a:fillToRect l=&quot;50000&quot; t=&quot;50000&quot; r=&quot;50000&quot; b=&quot;50000&quot;/&gt;&lt;/a:path&gt;&lt;/a:gradFill&gt;&lt;/a:bgFillStyleLst&gt;&lt;/a:fmtScheme&gt;&apos;.
lv_xl_theme_32 = &apos;&lt;/a:themeElements&gt;&lt;a:objectDefaults/&gt;&lt;a:extraClrSchemeLst/&gt;&lt;/a:theme&gt;&apos;.
CONCATENATE lv_xl_theme_01 lv_xl_theme_02 lv_xl_theme_03 lv_xl_theme_04 lv_xl_theme_05 lv_xl_theme_06 lv_xl_theme_07 lv_xl_theme_08 lv_xl_theme_09 lv_xl_theme_10 lv_xl_theme_11 lv_xl_theme_12 lv_xl_theme_13 lv_xl_theme_14 lv_xl_theme_15
lv_xl_theme_16 lv_xl_theme_17 lv_xl_theme_18 lv_xl_theme_19 lv_xl_theme_20 lv_xl_theme_21 lv_xl_theme_22 lv_xl_theme_23 lv_xl_theme_24 lv_xl_theme_25 lv_xl_theme_26 lv_xl_theme_27 lv_xl_theme_28 lv_xl_theme_29 lv_xl_theme_30
lv_xl_theme_31 lv_xl_theme_32
INTO lv_xl_theme SEPARATED BY space.
CALL FUNCTION &apos;SCMS_STRING_TO_XSTRING&apos;
EXPORTING
text = lv_xl_theme
IMPORTING
buffer = ep_content.
endmethod.</source>
endmethod.</source>
</method>
<method CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_WORKBOOK" VERSION="1" LANGU="E" DESCRIPT="Create &apos;xl/workbook.xml&apos;" EXPOSURE="1" STATE="1" EDITORDER="22 " DISPID="0 " MTDTYPE="0" MTDDECLTYP="0" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_WRITER_2007" CMPNAME="CREATE_XL_WORKBOOK" SCONAME="EP_CONTENT" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="XSTRING"/>
@ -6830,8 +6760,8 @@ ENDMETHOD.</source>
&quot; fileVersion node
lo_element = lo_document-&gt;create_simple_element( name = lc_xml_node_workbookpr
parent = lo_document ).
lo_element-&gt;set_attribute_ns( name = lc_xml_attr_themeversion
value = &apos;124226&apos; ).
* lo_element-&gt;set_attribute_ns( name = lc_xml_attr_themeversion
* value = &apos;124226&apos; ).
lo_element_root-&gt;append_child( new_child = lo_element ).
&quot; workbookProtection node