Sign in to follow this  
Followers 0
MarkMontemuro

_ExcelReadSheetToArray not in latest build of Excel.AU3

10 posts in this topic

I downloaded the latest version of AutoIT in order to get the enhanced performance _ExcelReadSheetToArray function. I'm reading in large excel sheets to an array to compare data & the earlier versions of this function takes a very long time. According to posts, the latest version 3.3.12 has the new Excel UDF that supposedly fixes this problem. With the latest install, I can't find this function in the file. Any suggestions of where I can download a version that has the fix

Share this post


Link to post
Share on other sites



The function has been replaced by function _Excel_RangeRead.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Same Input Params as the old & same return values?

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Lot of changes. Please check the help file and the script breaking changes section of the help file.

Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Thanks for your help, Will do

Share this post


Link to post
Share on other sites

In the previous call I was able to specify a row/column for my ReadCell  for example; " _ExcelReadCell($oExcel, $iRows,2)".  Can I still use this in the new call _Excel_RangeRead?   I can only find examples using this format _Excel_RangeRead($oExcel,Default,"C2"). I do calculations to read cells from certain offsets, $iRows.

Share this post


Link to post
Share on other sites

The examples included in the help file show reading a single cell, a group of cells, and an entire colunm. Can you please specify what you are trying to do that won't work with _Excel_RangeRead? An example that did work in the old would be beneficial.


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

This worked in the previous call

1st Date is:20001030 Last Date is:20141028

using the code below.

ConsoleWrite("1st Date is:"&_ExcelReadCell($oExcel, 3,2)&" Last Date is:"&_ExcelReadCell($oExcel, $iRows,2)&@CRLF)

Question is how do I then use the Row,Col format in _Excel_RangeRead?

Share this post


Link to post
Share on other sites

The new Excel UDF only supports A1 notation. R1C1 support has been dropped. But there are functions to translate to/from A1 notation.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Here give this a try.  This is a direct translation to show using the new UDF.  Notice that it is using a workbook object, instead of an application object.  

ConsoleWrite("1st Date is:" & _ExcelRangeRead($oWorkbook, Default, _Excel_ColumnToLetter(2) & "3") & " Last Date is:"& _ExcelRangeRead($oWorkbook, Default, _Excel_ColumnToLetter(2) &  $iRows) & @CRLF)

Adam

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0