<?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>topic Re: Advancing A &amp;quot;Excel-Export-Macro&amp;quot; in QlikView</title>
    <link>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/1960876#M1220099</link>
    <description>&lt;P&gt;Hello! Sorry if some way I hijacked the thread. Btw I want to create macro on our qlikview web application to automatically "Send to Excel". May I know where do I start?&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 27 Jul 2022 06:13:32 GMT</pubDate>
    <dc:creator>Eijon</dc:creator>
    <dc:date>2022-07-27T06:13:32Z</dc:date>
    <item>
      <title>Advancing A "Excel-Export-Macro"</title>
      <link>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/249943#M1184734</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried out the following "export to excel" macro.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It works fine, even on the QlikView- (web) - Accespoint.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="sql" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-family: 'Courier New'; color: black; font-size: 9pt;"&gt;sub exportObject1()&lt;BR /&gt;&lt;BR /&gt;call exportToExcel("CH01", "C:\Temp\Export_Excel1.xls")&lt;BR /&gt;&lt;BR /&gt;end sub&lt;BR /&gt;&lt;BR /&gt;sub exportObject2()&lt;BR /&gt;&lt;BR /&gt;call exportToExcel("CH03", "C:\Temp\Export_Excel2.xls")&lt;BR /&gt;&lt;BR /&gt;end sub&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;'--------------------------------- Generic Function for use of all objects ----------------------------&lt;BR /&gt;&lt;BR /&gt;' you can now use this function independent of object and path&lt;BR /&gt;' just call this function as above by passing the object ID and the desired filePath&lt;BR /&gt;&lt;BR /&gt;sub exportToExcel(objectId, filePath)&lt;BR /&gt;&lt;BR /&gt;dim o&lt;BR /&gt;Set o = ActiveDocument.GetSheetObject(objectId)&lt;BR /&gt;o.ExportBiff filePath&lt;BR /&gt;&lt;BR /&gt;Set o = nothing&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;end sub&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but in which way must this script be changed, to make it possible to export &lt;/P&gt;&lt;P&gt;"CH01" to "Sheet1" in "C:\Temp\Export_Excel1.xls"&lt;/P&gt;&lt;P&gt;and&lt;/P&gt;&lt;P&gt;"CH02" to "Sheet2" in "C:\Temp\Export_Excel1.xls"&lt;/P&gt;&lt;P&gt;?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for any advice in advance.&lt;/P&gt;&lt;P&gt;Greetings&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Oct 2011 11:40:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/249943#M1184734</guid>
      <dc:creator />
      <dc:date>2011-10-14T11:40:11Z</dc:date>
    </item>
    <item>
      <title>Advancing A "Excel-Export-Macro"</title>
      <link>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/249944#M1184735</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Daniel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can't use the automated "exportbiff" function for this custom functionality. You would need code similar to the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sub ExportExcel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET XLApp = CreateObject("Excel.Application")&lt;BR /&gt;XLApp.Visible = False&lt;BR /&gt;SET XLDoc = XLApp.Workbooks.Add&lt;BR /&gt;SET XLSheet1 = XLDoc.Worksheets(1)&lt;BR /&gt;SET XLSheet2 = XLDoc.Worksheets(2)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ActiveDocument.GetSheetObject("CH01").CopyTableToClipboard true&lt;BR /&gt;XLSheet1.Paste XLSheet1.Range("A1")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ActiveDocument.GetSheetObject("CH02").CopyTableToClipboard true&lt;BR /&gt;XLSheet2.Paste XLSheet2.Range("A1")&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XLApp.Visible = True&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;End Sub&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can then use VB formatting functions, etc, to make the export look nicer.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 16 Oct 2011 18:06:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/249944#M1184735</guid>
      <dc:creator>vgutkovsky</dc:creator>
      <dc:date>2011-10-16T18:06:39Z</dc:date>
    </item>
    <item>
      <title>Advancing A "Excel-Export-Macro"</title>
      <link>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/249945#M1184736</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Thank You for Your Advice.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Oct 2011 14:02:01 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/249945#M1184736</guid>
      <dc:creator />
      <dc:date>2011-10-19T14:02:01Z</dc:date>
    </item>
    <item>
      <title>Re: Advancing A "Excel-Export-Macro"</title>
      <link>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/249946#M1184737</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here would be my solution, i'm planning to use it to generate automatic muli-sheet excel report in QV. This is just a demo from a test-file.&lt;/P&gt;&lt;P&gt;I still plan to add a check if the files were deleted by AppShell, so that the reload of the QVW will not get an dialog from excel (overwrite excisting file) and the reload would be paused until someone will press "Yes" overwrite, but I plan to add this in nearby future to the script.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does someone know how to use VBA's standard "DoCmd.SetWarnings False" with Excel executed via QlikView macro? &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Function SendNiceAndEasyStaffToExcel()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' .XLS file names are defined - START&lt;/P&gt;&lt;P&gt;XLSExport = "C:\Documents and Settings\z679574\Desktop\ExportingTesting\Exports\Exporttest2.xls"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Final report file.&lt;/P&gt;&lt;P&gt;XLSExportTMP1 =&amp;nbsp; "C:\Documents and Settings\z679574\Desktop\ExportingTesting\Exports\TEMP\Exporttest2CH01.xls"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' First part of the report is exported to this TMP file&lt;/P&gt;&lt;P&gt;XLSExportTMP2 =&amp;nbsp; "C:\Documents and Settings\z679574\Desktop\ExportingTesting\Exports\TEMP\Exporttest2CH02.xls"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Second part of the report is exported to this TMP file&lt;/P&gt;&lt;P&gt;' .XLS file names are defined - END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' A shell app. must be used to remove old .XLS files, because QlikView itself &lt;/P&gt;&lt;P&gt;' can not delete .XLS files (although it can overwrite them), but then there &lt;/P&gt;&lt;P&gt;' is a risk of QV itselt not having Read-Write access and QlikView reload would &lt;/P&gt;&lt;P&gt;' be cancelled.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' A shell app. (Command prompt) that removes old XLS exports - START&lt;/P&gt;&lt;P&gt;RemXLS = "C:\Documents and Settings\z679574\Desktop\ExportingTesting\MoveXLS.bat"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&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;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;&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;&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;&amp;nbsp; ' .bat file bath&lt;/P&gt;&lt;P&gt;Set ShellApp = CreateObject("Shell.Application")&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' ShellApp type as "Shell.Application"&lt;/P&gt;&lt;P&gt;ShellApp.Open(RemXLS)&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' .bat file is executed&lt;/P&gt;&lt;P&gt;' A shell app. (Command prompt) that removes old XLS exports - END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' Clears all selections from QVW file - START&lt;/P&gt;&lt;P&gt;ActiveDocument.ClearAll&lt;/P&gt;&lt;P&gt;ActiveDocument.ClearAll false&lt;/P&gt;&lt;P&gt;' Clears all selections from QVW file - END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' PAUSE time to compleate the laste ClearAll request (wise to use with filse &amp;gt;= 1GB )&lt;/P&gt;&lt;P&gt;ActiveDocument.getApplication.sleep 5000 &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' Defines excel so the export file can be accessable in VBA&lt;/P&gt;&lt;P&gt;Set AppExcel = CreateObject ("Excel.Application")&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'AppExcel definition&lt;/P&gt;&lt;P&gt;AppExcel.Visible = True&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'AppExcel (visible) will be executed&lt;/P&gt;&lt;P&gt;' thereby we can Modify/SaveAs/ReName the export file, because it will also created &lt;/P&gt;&lt;P&gt;' with "Excel.Application" and it is now mapped as AppExcel for us to access..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'Report CH01 export - START&lt;/P&gt;&lt;P&gt;set obj = ActiveDocument.GetSheetObject("CH01")&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Obj is defined &amp;amp; accessed&lt;/P&gt;&lt;P&gt;obj.SendToExcel&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'SendToExcel function on Obj&lt;/P&gt;&lt;P&gt;'Report CH01 export - END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AppExcel.ActiveSheet.Name = "Raport CH01"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Renames the active sheet.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' .XLS file names are defined - START&lt;/P&gt;&lt;P&gt;XLSExport = "C:\Documents and Settings\z679574\Desktop\ExportingTesting\Exports\Exporttest2.xls"&lt;/P&gt;&lt;P&gt;XLSExportTMP1 =&amp;nbsp; "C:\Documents and Settings\z679574\Desktop\ExportingTesting\Exports\TEMP\Exporttest2CH01.xls"&lt;/P&gt;&lt;P&gt;XLSExportTMP2 =&amp;nbsp; "C:\Documents and Settings\z679574\Desktop\ExportingTesting\Exports\TEMP\Exporttest2CH02.xls"&lt;/P&gt;&lt;P&gt;' .XLS file names are defined - END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AppExcel.ActiveSheet.SaveAs (XLSExportTMP1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'First export is saved as the value of XLSExportTMP1&lt;/P&gt;&lt;P&gt;'NB All the .XLS files must be removed with AppShell first!! QV CAN NOT OVERWRITE EXCISTING .XLS FILES!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' There seems to be an error with closing an exported file (no opening is defined)&lt;/P&gt;&lt;P&gt;' so I had to:&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - save it first, to avoid dataloss (previous step). It must be done before&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - define it as a object with an .Open ; Object name is OWB_XLSExportTMP1&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - somehow access/reopen this object (with .Open clause) &amp;amp; I choose to use .Save clause because double .Open is not allowed.&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Then use the object (with .Open clause) to be comletely closed with .Close&lt;/P&gt;&lt;P&gt;' It might look dumb, but it was the only way to do it. There was no comleate solution even in QV community to successfully complete &lt;/P&gt;&lt;P&gt;' the multi-sheet export and the .XLS file would not remain opened. Does not make much sense as VBA in total, but works &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;set OWB_XLSExportTMP1 = AppExcel.Workbooks.Open(XLSExportTMP1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Object OWB_XLSExportTMP1 (with .Open &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/grin.png" /&gt; ) is defined.&lt;/P&gt;&lt;P&gt;OWB_XLSExportTMP1.Save&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;&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;&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;&amp;nbsp; 'Object OWB_XLSExportTMP1 is reopened/accessed via .Save &lt;/P&gt;&lt;P&gt;OWB_XLSExportTMP1.Close&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;&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;&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;&amp;nbsp; 'Object OWB_XLSExportTMP1 is closed via .Close&lt;/P&gt;&lt;P&gt;'First part of the report is exported and closed. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'Report CH02 export - START &lt;/P&gt;&lt;P&gt;set obj = ActiveDocument.GetSheetObject("CH02")&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Obj is defined &amp;amp; accessed&lt;/P&gt;&lt;P&gt;obj.SendToExcel&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'SendToExcel function on Obj&lt;/P&gt;&lt;P&gt;'Report CH02 export - END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AppExcel.ActiveSheet.SaveAs (XLSExportTMP2) 'Second export is saved as the value of XLSExportTMP2&lt;/P&gt;&lt;P&gt;'NB All the .XLS files must be removed with AppShell first!! QV CAN NOT OVERWRITE EXCISTING .XLS FILES!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' There seems to be an error with closing an exported file (no opening is defined)&lt;/P&gt;&lt;P&gt;' so I had to:&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - save it first, to avoid dataloss (previous step). It must be done before&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - define it as a object with an .Open ; Object name is OWB_XLSExportTMP2&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - somehow access/reopen this object (with .Open clause) &amp;amp; I choose to use .Save clause because double .Open is not allowed.&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Then use the object (with .Open clause) to be comletely closed with .Close&lt;/P&gt;&lt;P&gt;' It might look dumb, but it was the only way to do it. There was no comleate solution even in QV community to successfully complete &lt;/P&gt;&lt;P&gt;' the multi-sheet export and the .XLS file would not remain opened. Does not make much sense as VBA in total, but works &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;set OWB_XLSExportTMP2 = AppExcel.Workbooks.Open(XLSExportTMP2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Object OWB_XLSExportTMP2 (with .Open &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/grin.png" /&gt; ) is defined.&lt;/P&gt;&lt;P&gt;OWB_XLSExportTMP2.Save&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;&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;&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;&amp;nbsp; 'Object OWB_XLSExportTMP2 is reopened/accessed via .Save &lt;/P&gt;&lt;P&gt;'NB object OWB_XLSExportTMP2 will be closed in the end of this macro, I just had to reopen it to be able to close it after a also access &lt;/P&gt;&lt;P&gt;'other .XLS files via App.Excel &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AppExcel.ActiveSheet.Columns("A:AZ").Copy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Table from second Export is copied into Clipboard&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' First export file is opened, a sheet is added &amp;amp; data from second export is added. Then it is saved as the final report. - START&lt;/P&gt;&lt;P&gt;AppExcel.Workbooks.Open(XLSExportTMP1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Opens the first exported .XLS file&lt;/P&gt;&lt;P&gt;AppExcel.Sheets.Add()&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;&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; ' Sheet is added to the first export&lt;/P&gt;&lt;P&gt;AppExcel.ActiveSheet.Cells(1,1).Activate&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Cell A1 is selected on the new sheet&lt;/P&gt;&lt;P&gt;AppExcel.ActiveSheet.Paste&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Data from second export is pasted into the new sheet&lt;/P&gt;&lt;P&gt;AppExcel.ActiveSheet.Name = "Raport CH02"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' New sheet is renamed.&lt;/P&gt;&lt;P&gt;AppExcel.ActiveSheet.SaveAs (XLSExport)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' This result is saved as the value of XLSExport (final report)&lt;/P&gt;&lt;P&gt;'NB All the .XLS files must be removed with AppShell first!! QV CAN NOT OVERWRITE EXCISTING .XLS FILES!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;' There seems to be an error with closing an exported file (no opening is defined)&lt;/P&gt;&lt;P&gt;' so I had to:&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - save it first, to avoid dataloss (previous step). It must be done before&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - define it as a object with an .Open ; Object name is OWB_XLSExport&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - somehow access/reopen this object (with .Open clause) &amp;amp; I choose to use .Save clause because double .Open is not allowed.&lt;/P&gt;&lt;P&gt;'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - Then use the object (with .Open clause) to be comletely closed with .Close&lt;/P&gt;&lt;P&gt;' It might look dumb, but it was the only way to do it. There was no comleate solution even in QV community to successfully complete &lt;/P&gt;&lt;P&gt;' the multi-sheet export and the .XLS file would not remain opened. Does not make much sense as VBA in total, but works &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;set OWB_XLSExport = AppExcel.Workbooks.Open(XLSExport)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Object OWB_XLSExport (with .Open &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/grin.png" /&gt; ) is defined.&lt;/P&gt;&lt;P&gt;OWB_XLSExport.Save&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Object OWB_XLSExport is reopened/accessed via .Save &lt;/P&gt;&lt;P&gt;OWB_XLSExport.Close&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Object OWB_XLSExport is closed via .Close&lt;/P&gt;&lt;P&gt;'Final part of the report is saved and closed. &lt;/P&gt;&lt;P&gt;' First export file is opened, a sheet is added &amp;amp; data from second export is added. Then it is saved as the final report. - END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'AppExcel.Workbooks.Open(Ruta) 'Opens the Main ExportedFile&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'Second part of the report is closed. &lt;/P&gt;&lt;P&gt;OWB_XLSExportTMP2.Close&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Object OWB_XLSExportTMP2 is closed via .Close&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'Now closing App.Excel also from running processes (needs all workbooks to be closed).&lt;/P&gt;&lt;P&gt;AppExcel.Visible = False&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Excel.exe is closed&lt;/P&gt;&lt;P&gt;set AppExcel = nothing&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;&amp;nbsp; ' definition cleared to avoid conflicts with other functions.&lt;/P&gt;&lt;P&gt;set OWB_XLSExport = nothing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' definition cleared to avoid conflicts with other functions.&lt;/P&gt;&lt;P&gt;set OWB_XLSExportTMP1 = nothing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' definition cleared to avoid conflicts with other functions.&lt;/P&gt;&lt;P&gt;set OWB_XLSExportTMP2 = nothing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' definition cleared to avoid conflicts with other functions.&lt;/P&gt;&lt;P&gt;End Function &lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Oct 2011 19:15:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/249946#M1184737</guid>
      <dc:creator />
      <dc:date>2011-10-31T19:15:23Z</dc:date>
    </item>
    <item>
      <title>Re: Advancing A "Excel-Export-Macro"</title>
      <link>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/1960876#M1220099</link>
      <description>&lt;P&gt;Hello! Sorry if some way I hijacked the thread. Btw I want to create macro on our qlikview web application to automatically "Send to Excel". May I know where do I start?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jul 2022 06:13:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/1960876#M1220099</guid>
      <dc:creator>Eijon</dc:creator>
      <dc:date>2022-07-27T06:13:32Z</dc:date>
    </item>
    <item>
      <title>Re: Advancing A "Excel-Export-Macro"</title>
      <link>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/1960932#M1220101</link>
      <description>&lt;P&gt;If you used the IE plugin or Edge within the IE mode the use of such macros should be further possible but by using the AJAX client they won't work.&amp;nbsp;In this case you might try to use actions with which you could export field-values of multiple fields into a csv-file or you may apply serversideexports-macros which in general allow to export objects which is similar to the send-feature. Helpful for any macro-stuff ist the APIGuide.qvw with various examples, like:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marcus_sommer_0-1658907661032.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/85197iC5EC9D1A3770C2CF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="marcus_sommer_0-1658907661032.png" alt="marcus_sommer_0-1658907661032.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;By larger export-jobs you should consider to use the desktop client with regular macros for it - which could be principally also automated whereby depending on the environment it is not trivial. I'm not sure but I assume the most customers don't use own created macro-stuff for bigger tasks else NPrinting or similar third party tools because it's usually cheaper to purchase a general solution instead of developing and maintaining own stuff.&lt;/P&gt;
&lt;P&gt;- Marcus&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jul 2022 07:53:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/QlikView/Advancing-A-quot-Excel-Export-Macro-quot/m-p/1960932#M1220101</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2022-07-27T07:53:34Z</dc:date>
    </item>
  </channel>
</rss>

