<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Question Re: OLE2 objects: Select several ranges at once in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094650#M4913193</link>
    <description>&lt;P&gt;Yes, I had already tried what you mentioned—creating macros in Visual Basic and attempting to translate them to OLE—but it doesn’t work.&lt;/P&gt;&lt;P&gt;&lt;!--    StartFragment     --&gt;&lt;/P&gt;&lt;TABLE border="1" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="100%"&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;I&amp;nbsp;use&amp;nbsp;a&amp;nbsp;single&amp;nbsp;cell&amp;nbsp;or&amp;nbsp;range&amp;nbsp;its&amp;nbsp;working:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL&amp;nbsp;METHOD&amp;nbsp;OF&amp;nbsp;lo_worksheet&amp;nbsp;'range'&amp;nbsp;=&amp;nbsp;lo_range&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;=&amp;nbsp;'A1:B1'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL&amp;nbsp;METHOD&amp;nbsp;OF&amp;nbsp;lo_range&amp;nbsp;'select'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL&amp;nbsp;METHOD&amp;nbsp;OF&amp;nbsp;lo_application&amp;nbsp;'selection'&amp;nbsp;=&amp;nbsp;lo_selection.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET&amp;nbsp;PROPERTY&amp;nbsp;OF&amp;nbsp;lo_selection&amp;nbsp;'locked'&amp;nbsp;=&amp;nbsp;1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;But&amp;nbsp;if&amp;nbsp;I&amp;nbsp;use&amp;nbsp;several&amp;nbsp;ranges,&amp;nbsp;then&amp;nbsp;its&amp;nbsp;not&amp;nbsp;working:&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'range'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_range&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'A1,B1,C1'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"Or&amp;nbsp;'A1:B1,&amp;nbsp;C2,&amp;nbsp;D3:E4'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_range&amp;nbsp;&lt;SPAN class=""&gt;'select'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'selection'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_selection&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_selection&amp;nbsp;&lt;SPAN class=""&gt;'locked'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;I read the link you shared, but it doesn’t provide a solution either. I could use the UNION method to combine ranges, but that method only takes two arguments , and I would need to call it many times in my scenario. What I’m trying to avoid is making so many calls between SAP and Excel, to reduce the use of those FLUSH functions as much as possible. That’s why I wanted to pass a string with all the ranges separated by commas (,), which works fine in VBA, but doesn’t seem to work correctly in OLE.&lt;BR /&gt;&lt;BR /&gt;EDIT: Union accept a lot of arguments:&lt;BR /&gt;&lt;EM&gt;expresión&lt;/EM&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Unión&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;(&lt;/SPAN&gt;&lt;EM&gt;Arg1&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg2&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg3&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg4&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg5&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg6&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg7&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg8&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg9&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg10&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg11&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg12&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg13&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg14&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg15&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg16&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg17&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg18&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg19&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg20&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg21&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg22&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg23&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg24&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg25&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg26&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg27&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg28&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg29&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg30&lt;/EM&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="https://learn.microsoft.com/es-es/office/vba/api/excel.application.union" target="_blank"&gt;https://learn.microsoft.com/es-es/office/vba/api/excel.application.union&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;But I have huge excel files, dont know if this amount of argument is enough. I'll try.&lt;/P&gt;</description>
    <pubDate>Tue, 06 May 2025 15:15:14 GMT</pubDate>
    <dc:creator>RicardoRomero_1</dc:creator>
    <dc:date>2025-05-06T15:15:14Z</dc:date>
    <item>
      <title>OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaq-p/14094426</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm experiencing some performance issues using OLE2 objects.&lt;/P&gt;&lt;P&gt;I'm aware of the ABAP2XLSX project — I use it in other developments and it works very well and is quite fast. However, in this case, I can't use it because we have an XLSM file stored on the server as a template. This file contains macros and validations written in Visual Basic. What we do is download this "template" and fill it with data using OLE2. As far as I know, ABAP2XLSX can't handle this scenario.&lt;/P&gt;&lt;P&gt;To improve performance in the program that uses OLE2, I avoid filling cells one by one. Instead, I use copy/paste from the clipboard and try to group operations by cell ranges to perform them all at once.&lt;/P&gt;&lt;P&gt;However, I'm still facing performance problems because some OLE2 method calls internally trigger the function AC_FLUSH_CALL_INTERNAL. In the latest ST12 trace, I see that this function is called around 2,600 times, consuming the vast majority of the program's runtime.&lt;/P&gt;&lt;P&gt;I'd like to be able to select multiple ranges at once to perform the same operation on several cells simultaneously, but this doesn't seem to work correctly. In Visual Basic, a simple instruction like:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE border="1" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="100%"&gt;&lt;SPAN&gt;Range("I11,N12,P8:P11,U12,U8").Select&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;works just fine, but when I try to "translate" it to OLE2, it doesn't seem to function.&lt;/P&gt;&lt;P&gt;For example, this works:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="100%"&gt;Range("P8:P11").Select&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;In other words, it seems that selecting multiple ranges at once is not supported (or maybe I'm doing it incorrectly).&lt;/P&gt;&lt;P&gt;I'll include a sample code that you can run to verify what I'm describing.&lt;/P&gt;&lt;P&gt;Do you know if it's possible to select multiple ranges at once using OLE2 objects?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="1" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="100%"&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;!--        StartFragment         --&gt;&lt;SPAN class=""&gt;REPORT&amp;nbsp;&lt;/SPAN&gt;zric_ole2&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;TYPE-POOLS&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&amp;nbsp;&lt;/SPAN&gt;soi&lt;SPAN class=""&gt;,&lt;/SPAN&gt;ole2&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;PARAMETERS&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;pa_opt1&amp;nbsp;&lt;SPAN class=""&gt;RADIOBUTTON&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;GROUP&amp;nbsp;&lt;/SPAN&gt;rb1&amp;nbsp;&lt;SPAN class=""&gt;DEFAULT&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'X'&lt;/SPAN&gt;&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;pa_opt2&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;RADIOBUTTON&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;GROUP&amp;nbsp;&lt;/SPAN&gt;rb1&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;DATA&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ole2_object&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lo_workbook&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ole2_object&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lo_workbooks&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ole2_object&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lo_range&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ole2_object&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lo_worksheet&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ole2_object&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lo_cell&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ole2_object&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lo_cellstart&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&lt;/SPAN&gt;ole2_object&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lo_cellend&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&lt;/SPAN&gt;ole2_object&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lo_selection&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&lt;/SPAN&gt;ole2_object&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;DATA&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&amp;nbsp;&lt;/SPAN&gt;lv_selected_folder&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&lt;/SPAN&gt;string&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lv_complete_path&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&lt;/SPAN&gt;char256&lt;SPAN class=""&gt;,&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lv_titulo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&lt;/SPAN&gt;string&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;cl_gui_frontend_services&lt;SPAN class=""&gt;=&amp;gt;&lt;/SPAN&gt;directory_browse&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window_title&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lv_titulo&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;initial_folder&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'C:\'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CHANGING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;selected_folder&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lv_selected_folder&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXCEPTIONS&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cntl_error&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error_no_gui&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;3&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CHECK&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;NOT&amp;nbsp;&lt;/SPAN&gt;lv_selected_folder&amp;nbsp;&lt;SPAN class=""&gt;IS&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;INITIAL&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CREATE&amp;nbsp;&lt;/SPAN&gt;OBJECT&amp;nbsp;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'Excel.Application'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'Workbooks'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_workbooks&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_workbooks&amp;nbsp;&lt;SPAN class=""&gt;'Add'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_workbook&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'Visible'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;0&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;GET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'ACTIVESHEET'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;add&amp;nbsp;some&amp;nbsp;text&amp;nbsp;to&amp;nbsp;cell&amp;nbsp;A1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'Cells'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_cell&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#2&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_cell&amp;nbsp;&lt;SPAN class=""&gt;'SELECT'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_cell&amp;nbsp;&lt;SPAN class=""&gt;'Value'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'TEST&amp;nbsp;A1'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;add&amp;nbsp;some&amp;nbsp;text&amp;nbsp;to&amp;nbsp;cell&amp;nbsp;A2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'Cells'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_cell&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#2&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_cell&amp;nbsp;&lt;SPAN class=""&gt;'SELECT'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_cell&amp;nbsp;&lt;SPAN class=""&gt;'Value'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'TEST&amp;nbsp;A2'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;add&amp;nbsp;some&amp;nbsp;text&amp;nbsp;to&amp;nbsp;cell&amp;nbsp;B3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'Cells'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_cell&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#2&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;3&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_cell&amp;nbsp;&lt;SPAN class=""&gt;'SELECT'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_cell&amp;nbsp;&lt;SPAN class=""&gt;'Value'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'TEST&amp;nbsp;B3'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;Lock&amp;nbsp;cells:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;First&amp;nbsp;all&amp;nbsp;un-locked&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'cells'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_cell&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_cell&amp;nbsp;&lt;SPAN class=""&gt;'select'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'selection'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_selection&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_selection&amp;nbsp;&lt;SPAN class=""&gt;'locked'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;0&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* First option, its working, selecting ranges one by one, but bad performance in I need to do it may times&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;IF&amp;nbsp;&lt;/SPAN&gt;pa_opt1&amp;nbsp;&lt;SPAN class=""&gt;EQ&amp;nbsp;&lt;/SPAN&gt;abap_true&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;Lock&amp;nbsp;cells&amp;nbsp;A1&amp;nbsp;and&amp;nbsp;A2&amp;nbsp;at&amp;nbsp;once&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'cells'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_cellstart&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#2&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'cells'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_cellend&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#2&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;2&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'range'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_range&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_cellstart&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#2&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_cellend&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_range&amp;nbsp;&lt;SPAN class=""&gt;'select'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'selection'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_selection&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_selection&amp;nbsp;&lt;SPAN class=""&gt;'locked'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;Lock&amp;nbsp;cell&amp;nbsp;B3&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'range'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_range&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'B3'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_range&amp;nbsp;&lt;SPAN class=""&gt;'select'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'selection'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_selection&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_selection&amp;nbsp;&lt;SPAN class=""&gt;'locked'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;ELSE&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;* Second option, trying to select several ranges at once, is not working...&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;!--  StartFragment   --&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;I&amp;nbsp;use&amp;nbsp;a&amp;nbsp;single&amp;nbsp;cell&amp;nbsp;or&amp;nbsp;range&amp;nbsp;its&amp;nbsp;working:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL&amp;nbsp;METHOD&amp;nbsp;OF&amp;nbsp;lo_worksheet&amp;nbsp;'range'&amp;nbsp;=&amp;nbsp;lo_range&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;=&amp;nbsp;'A1:B1'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL&amp;nbsp;METHOD&amp;nbsp;OF&amp;nbsp;lo_range&amp;nbsp;'select'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL&amp;nbsp;METHOD&amp;nbsp;OF&amp;nbsp;lo_application&amp;nbsp;'selection'&amp;nbsp;=&amp;nbsp;lo_selection.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET&amp;nbsp;PROPERTY&amp;nbsp;OF&amp;nbsp;lo_selection&amp;nbsp;'locked'&amp;nbsp;=&amp;nbsp;1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;But&amp;nbsp;if&amp;nbsp;I&amp;nbsp;use&amp;nbsp;several&amp;nbsp;ranges,&amp;nbsp;then&amp;nbsp;its&amp;nbsp;not&amp;nbsp;working:&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'range'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_range&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'A1,B1,C1'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"Or&amp;nbsp;'A1:B1,&amp;nbsp;C2,&amp;nbsp;D3:E4'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_range&amp;nbsp;&lt;SPAN class=""&gt;'select'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'selection'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_selection&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_selection&amp;nbsp;&lt;SPAN class=""&gt;'locked'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*--------------------------------------------------------------------*&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;Protect&amp;nbsp;the&amp;nbsp;excel&amp;nbsp;sheet:&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'protect'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#01&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'1234'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#02&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;0&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CONCATENATE&amp;nbsp;&lt;/SPAN&gt;lv_selected_folder&amp;nbsp;&lt;SPAN class=""&gt;'\Test'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;INTO&amp;nbsp;&lt;/SPAN&gt;lv_complete_path&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_workbook&amp;nbsp;&lt;SPAN class=""&gt;'SaveAs'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lv_complete_path&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;IF&amp;nbsp;&lt;/SPAN&gt;sy&lt;SPAN class=""&gt;-&lt;/SPAN&gt;subrc&amp;nbsp;&lt;SPAN class=""&gt;EQ&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;0&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;MESSAGE&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'File&amp;nbsp;downloaded&amp;nbsp;successfully'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'S'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;ELSE&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;MESSAGE&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'Error&amp;nbsp;downloading&amp;nbsp;the&amp;nbsp;file'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'E'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;ENDIF&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'QUIT'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;FREE&amp;nbsp;&lt;/SPAN&gt;OBJECT&amp;nbsp;lo_worksheet&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;FREE&amp;nbsp;&lt;/SPAN&gt;OBJECT&amp;nbsp;lo_workbook&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;FREE&amp;nbsp;&lt;/SPAN&gt;OBJECT&amp;nbsp;lo_application&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thanks in advance.&lt;BR /&gt;&lt;BR /&gt;PS: I'm using a table for the code in the post because the button "insert code sample" is not working for me.&lt;/P&gt;</description>
      <pubDate>Tue, 06 May 2025 15:06:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaq-p/14094426</guid>
      <dc:creator>RicardoRomero_1</dc:creator>
      <dc:date>2025-05-06T15:06:39Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094451#M4913182</link>
      <description>If you know the VBA code for doing it, you can convert it to OLE manually (compatibility is around 99%). The Excel VBA Recorder shows you the VBA code for any user action. If I select the cells A1, C1 and E1, the obtained code is Range("A1,C1,E1").Select. Also: &lt;A href="https://stackoverflow.com/questions/58294820/select-multiple-ranges-with-vba" target="_blank"&gt;https://stackoverflow.com/questions/58294820/select-multiple-ranges-with-vba&lt;/A&gt;.</description>
      <pubDate>Tue, 06 May 2025 12:05:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094451#M4913182</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2025-05-06T12:05:42Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094453#M4913183</link>
      <description>&lt;P&gt;Have you indeed tried with abap2xlsx?&amp;nbsp;AFAIK the &lt;A href="https://github.com/abap2xlsx/demos/blob/main/src/zdemo_excel_fill_template.prog.abap" target="_blank" rel="noopener"&gt;template functionality&lt;/A&gt; should work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 May 2025 12:07:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094453#M4913183</guid>
      <dc:creator>abo</dc:creator>
      <dc:date>2025-05-06T12:07:09Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094482#M4913184</link>
      <description>&lt;P&gt;Using cell ranges and copy/pasting data via the clipboard is really helpful to improve OLE performance.&lt;/P&gt;&lt;P&gt;But I do not see you using this approach in your example code. Why?&lt;/P&gt;&lt;P&gt;Example code (adjusting needed):&lt;/P&gt;&lt;LI-CODE lang="abap"&gt;"Export itab data to clipboard
cl_gui_frontend_services=&amp;gt;clipboard_export( ... ).

"Cell 1
CALL METHOD OF lo_excel 'Cells' = lo_cell1
  EXPORTING
  #1 = 1 "Row
  #2 = 1. "Column

"Cell 2
CALL METHOD OF lo_excel 'Cells' = lo_cell2
  EXPORTING
  #1 = 1 "Row
  #2 = 1. "Column

"Create a range from two cells
CALL METHOD OF lo_excel 'Range' = lo_range
  EXPORTING
  #1 = lo_cell1
  #2 = lo_cell2.

"Paste data from clipboard to a Range
CALL METHOD OF lo_range 'Select'.
CALL METHOD OF lo_worksheet 'Paste'.&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 May 2025 12:33:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094482#M4913184</guid>
      <dc:creator>Tomas_Buryanek</dc:creator>
      <dc:date>2025-05-06T12:33:54Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094542#M4913185</link>
      <description>this is only an example, the problem is not writting the data, the problem is locking the cells, the second part of the code. when i try to select several ranges at once</description>
      <pubDate>Tue, 06 May 2025 13:29:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094542#M4913185</guid>
      <dc:creator>RicardoRomero_1</dc:creator>
      <dc:date>2025-05-06T13:29:34Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094560#M4913186</link>
      <description>&lt;P&gt;hello, As far as I know (correct me if I'm wrong) abap2xls cannot use files with embedded macros.&amp;nbsp;abap2xlsx &lt;STRONG&gt;does not support embedding or preserving VBA modules&lt;/STRONG&gt; (macros), because VBA code is stored in a binary format, not in the Open XML structure.&lt;/P&gt;</description>
      <pubDate>Tue, 06 May 2025 14:01:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094560#M4913186</guid>
      <dc:creator>RicardoRomero_1</dc:creator>
      <dc:date>2025-05-06T14:01:34Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094568#M4913187</link>
      <description>&lt;P&gt;Hello, Sandra.&lt;/P&gt;&lt;P&gt;Yes, I know that it's usually possible to translate almost any code written in VBA to OLE, and that's exactly why I'm asking for your help—because this time I haven't been able to get it to work.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I've recorded macros in Excel to see the VBA code generated when selecting multiple ranges, and it's quite simple—the one I posted above.&lt;BR /&gt;But I haven't been able to make it work using OLE.&lt;/P&gt;&lt;P&gt;I created this blog many years ago to help others use OLE2 objects. I'm not an expert, but I've managed to work quite well with these objects for a long time&lt;BR /&gt;&lt;A href="https://community.sap.com/t5/application-development-and-automation-blog-posts/using-ole2-objects-to-create-an-excel-file/ba-p/13208688" target="_blank"&gt;https://community.sap.com/t5/application-development-and-automation-blog-posts/using-ole2-objects-to-create-an-excel-file/ba-p/13208688&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 06 May 2025 13:46:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094568#M4913187</guid>
      <dc:creator>RicardoRomero_1</dc:creator>
      <dc:date>2025-05-06T13:46:14Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094571#M4913188</link>
      <description>&lt;P&gt;.&lt;/P&gt;</description>
      <pubDate>Tue, 06 May 2025 13:51:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094571#M4913188</guid>
      <dc:creator>RicardoRomero_1</dc:creator>
      <dc:date>2025-05-06T13:51:21Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094590#M4913189</link>
      <description>Hmm, haven't tried that yet but you could tweak the demo above, change the template to one with macros and see if smoke comes out. There is an interesting comment in the source: &lt;A href="https://github.com/abap2xlsx/abap2xlsx/blob/08c794f3ca9d47d84073222c9fb39b2a9fbf3116/src/zcl_excel_reader_2007.clas.abap#L1902" target="_blank"&gt;https://github.com/abap2xlsx/abap2xlsx/blob/08c794f3ca9d47d84073222c9fb39b2a9fbf3116/src/zcl_excel_reader_2007.clas.abap#L1902&lt;/A&gt;</description>
      <pubDate>Tue, 06 May 2025 13:56:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094590#M4913189</guid>
      <dc:creator>abo</dc:creator>
      <dc:date>2025-05-06T13:56:25Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094599#M4913190</link>
      <description>I've tried this code but I havent the class zcl_excel_template_data . I have a very old version of SAP. ABAP 701. I got the version of ABAP2xlsx by copying it from another project, and I had to spend a couple of weeks correcting code errors to get it to work in my version. So I don't have the new updates.</description>
      <pubDate>Tue, 06 May 2025 14:01:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094599#M4913190</guid>
      <dc:creator>RicardoRomero_1</dc:creator>
      <dc:date>2025-05-06T14:01:22Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094602#M4913191</link>
      <description>Did you try what I proposed?</description>
      <pubDate>Tue, 06 May 2025 14:03:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094602#M4913191</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2025-05-06T14:03:00Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094604#M4913192</link>
      <description>argggh &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; what a terrible situation &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt; I also have older systems so I occasionally run into problems but we normally fix it upstream, either directly or via downport changes</description>
      <pubDate>Tue, 06 May 2025 14:05:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094604#M4913192</guid>
      <dc:creator>abo</dc:creator>
      <dc:date>2025-05-06T14:05:13Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094650#M4913193</link>
      <description>&lt;P&gt;Yes, I had already tried what you mentioned—creating macros in Visual Basic and attempting to translate them to OLE—but it doesn’t work.&lt;/P&gt;&lt;P&gt;&lt;!--    StartFragment     --&gt;&lt;/P&gt;&lt;TABLE border="1" width="100%"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="100%"&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;I&amp;nbsp;use&amp;nbsp;a&amp;nbsp;single&amp;nbsp;cell&amp;nbsp;or&amp;nbsp;range&amp;nbsp;its&amp;nbsp;working:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL&amp;nbsp;METHOD&amp;nbsp;OF&amp;nbsp;lo_worksheet&amp;nbsp;'range'&amp;nbsp;=&amp;nbsp;lo_range&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;=&amp;nbsp;'A1:B1'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL&amp;nbsp;METHOD&amp;nbsp;OF&amp;nbsp;lo_range&amp;nbsp;'select'.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CALL&amp;nbsp;METHOD&amp;nbsp;OF&amp;nbsp;lo_application&amp;nbsp;'selection'&amp;nbsp;=&amp;nbsp;lo_selection.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET&amp;nbsp;PROPERTY&amp;nbsp;OF&amp;nbsp;lo_selection&amp;nbsp;'locked'&amp;nbsp;=&amp;nbsp;1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;But&amp;nbsp;if&amp;nbsp;I&amp;nbsp;use&amp;nbsp;several&amp;nbsp;ranges,&amp;nbsp;then&amp;nbsp;its&amp;nbsp;not&amp;nbsp;working:&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_worksheet&amp;nbsp;&lt;SPAN class=""&gt;'range'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_range&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#1&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'A1,B1,C1'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;"Or&amp;nbsp;'A1:B1,&amp;nbsp;C2,&amp;nbsp;D3:E4'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_range&amp;nbsp;&lt;SPAN class=""&gt;'select'&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_application&amp;nbsp;&lt;SPAN class=""&gt;'selection'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;lo_selection&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;SET&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;PROPERTY&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;OF&amp;nbsp;&lt;/SPAN&gt;lo_selection&amp;nbsp;&lt;SPAN class=""&gt;'locked'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;I read the link you shared, but it doesn’t provide a solution either. I could use the UNION method to combine ranges, but that method only takes two arguments , and I would need to call it many times in my scenario. What I’m trying to avoid is making so many calls between SAP and Excel, to reduce the use of those FLUSH functions as much as possible. That’s why I wanted to pass a string with all the ranges separated by commas (,), which works fine in VBA, but doesn’t seem to work correctly in OLE.&lt;BR /&gt;&lt;BR /&gt;EDIT: Union accept a lot of arguments:&lt;BR /&gt;&lt;EM&gt;expresión&lt;/EM&gt;&lt;SPAN&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Unión&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;(&lt;/SPAN&gt;&lt;EM&gt;Arg1&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg2&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg3&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg4&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg5&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg6&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg7&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg8&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg9&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg10&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg11&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg12&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg13&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg14&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg15&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg16&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg17&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg18&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg19&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg20&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg21&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg22&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg23&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg24&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg25&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg26&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg27&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg28&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg29&lt;/EM&gt;&lt;SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Arg30&lt;/EM&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="https://learn.microsoft.com/es-es/office/vba/api/excel.application.union" target="_blank"&gt;https://learn.microsoft.com/es-es/office/vba/api/excel.application.union&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;But I have huge excel files, dont know if this amount of argument is enough. I'll try.&lt;/P&gt;</description>
      <pubDate>Tue, 06 May 2025 15:15:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094650#M4913193</guid>
      <dc:creator>RicardoRomero_1</dc:creator>
      <dc:date>2025-05-06T15:15:14Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094660#M4913194</link>
      <description>&lt;P&gt;Have you considered saving the VBA commands into a VBscript file, and then executing the script on the application server?&lt;/P&gt;&lt;P&gt;As you lay out this issue, you are executing this VBA code on a copy of Excel resident on your SAPGUI host PC. This copy of Excel has the XLSX template installed. Using OLE to call the instance of Excel is low performance, but it gives you great flexibility in the content of the commands, ranges in this case.&lt;/P&gt;&lt;P&gt;I have had great success in writing VBscript commands into a text file, saving it in the working directory defined by SAPGUI, and then executing it on the PC.&lt;/P&gt;&lt;P&gt;Inside the VBscript you can read any number of command line parameters in the&amp;nbsp;WScript.Arguments object. Pass these parameters to the VBscript using the PARAMETER string in&amp;nbsp;&lt;!--  StartFragment   --&gt;&lt;SPAN&gt;cl_gui_frontend_services&lt;SPAN class=""&gt;=&amp;gt;&lt;/SPAN&gt;execute.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;This is a workaround, but the performance is vastly superior to OLE.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;DATA&lt;/SPAN&gt;&lt;SPAN class=""&gt;:&amp;nbsp;&lt;/SPAN&gt;strcommand&amp;nbsp;&lt;SPAN class=""&gt;TYPE&amp;nbsp;&lt;/SPAN&gt;string&lt;SPAN class=""&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;strcommand&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;|&lt;SPAN class=""&gt;"{&amp;nbsp;w_path&amp;nbsp;}{&amp;nbsp;'Z_SCRIPT.vbs'(vbs)&amp;nbsp;}"|&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;|&amp;nbsp;&lt;SPAN class=""&gt;"{&amp;nbsp;p_file&amp;nbsp;}"|&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;|&amp;nbsp;&lt;SPAN class=""&gt;"{&amp;nbsp;p_tab&amp;nbsp;}"|&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;&amp;amp;&amp;nbsp;|&amp;nbsp;&lt;SPAN class=""&gt;"{&amp;nbsp;w_path&amp;nbsp;}"|.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;*&amp;nbsp;Run&amp;nbsp;script&amp;nbsp;on&amp;nbsp;Win32&amp;nbsp;WorkStation&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;CALL&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;METHOD&amp;nbsp;&lt;/SPAN&gt;cl_gui_frontend_services&lt;SPAN class=""&gt;=&amp;gt;&lt;/SPAN&gt;execute&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;EXPORTING&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;application&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'WScript'&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;parameter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;strcommand&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;synchronous&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN class=""&gt;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=""&gt;'X'&lt;/SPAN&gt;&lt;BR /&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 06 May 2025 15:23:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14094660#M4913194</guid>
      <dc:creator>juan_suros</dc:creator>
      <dc:date>2025-05-06T15:23:33Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14095353#M4913195</link>
      <description>&lt;P&gt;Thanks for the suggestion, although I think what you're proposing won't work in our scenario.&lt;/P&gt;&lt;P&gt;We need the file to be generated with code inside—it’s a file that will be dynamically filled out for each RFQ and sent to suppliers who have to complete it with their offers. Inside the Excel file, we have certain data validations, modules to display information, etc., so we need to use these downloaded XLSM files and then edit them to add the information in each case.&lt;/P&gt;</description>
      <pubDate>Wed, 07 May 2025 11:24:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14095353#M4913195</guid>
      <dc:creator>RicardoRomero_1</dc:creator>
      <dc:date>2025-05-07T11:24:17Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14095466#M4913196</link>
      <description>Too bad, so you're in the 1% incompatible. abap2xlsx can read and write an XLSM file with VBA code, see ZCL_EXCEL methods which belong to the interface ZIF_EXCEL_BOOK_VBA_PROJECT. I never tried them. If your Excel file is complex to fill, you may also use the solution demonstrated by zdemo_excel_fill_template.</description>
      <pubDate>Wed, 07 May 2025 13:38:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14095466#M4913196</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2025-05-07T13:38:43Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14095481#M4913197</link>
      <description>Maybe you can try the original solution before its integration in abap2xlsx, much less code to adapt to 7.01: &lt;A href="https://community.sap.com/t5/application-development-and-automation-blog-posts/best-way-to-generate-microsoft-excel-xlsx-from-template-in-abap/ba-p/13425645" target="_blank"&gt;https://community.sap.com/t5/application-development-and-automation-blog-posts/best-way-to-generate-microsoft-excel-xlsx-from-template-in-abap/ba-p/13425645&lt;/A&gt;</description>
      <pubDate>Wed, 07 May 2025 13:54:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14095481#M4913197</guid>
      <dc:creator>Sandra_Rossi</dc:creator>
      <dc:date>2025-05-07T13:54:50Z</dc:date>
    </item>
    <item>
      <title>Re: OLE2 objects: Select several ranges at once</title>
      <link>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14096317#M4913272</link>
      <description>&lt;P&gt;Well, as I mentioned earlier, the version of my project is very old, ABAP 701, and I copied the ABAP2XLSX solution a long time ago from other project.&lt;/P&gt;&lt;P&gt;I had to fix many code errors to make it work on my version, so I don't have the latest updates and I can't use the example ZDEMO_EXCEL_FILL_TEMPLATE.&lt;/P&gt;&lt;P&gt;In any case, the question is about an already completed development in my project, which is very large and uses OLE. The question is not about using other technologies or reengineering everything, which would take a lot of time. It's just a simple question about OLE2, to see if it's possible to select more than one range at the same time. In VBA it's very easy, but I can't manage to do it with OLE.&lt;/P&gt;&lt;P&gt;In the example I provided, you can quickly test it by copying and pasting: with option 1 (a single range), it works fine; with option 2 (multiple ranges), it doesn't work correctly.&lt;/P&gt;</description>
      <pubDate>Thu, 08 May 2025 11:04:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/ole2-objects-select-several-ranges-at-once/qaa-p/14096317#M4913272</guid>
      <dc:creator>RicardoRomero_1</dc:creator>
      <dc:date>2025-05-08T11:04:17Z</dc:date>
    </item>
  </channel>
</rss>

