Sign in to follow this  
Followers 0
ijourneaux

Upgrading to AutoIT 3.3.12.0 - Trying to convert Old Excel Function calls to New Excel UDF

7 posts in this topic

I am trying to upgrade a set of application I have to the latest public release from version 3.3.10.2 and I just realize that the Excel functions have changed.  Does anyone have a mapping from the new function to the old? Some are obvious but others require a little more work.

_ExcelReadSheetToArray

_ExcelWriteSheetFromArray

_ExcelSheetMove

_ExcelReadCell

_ExcelWriteCell

In the short term, could I just move the old excel.au3 to my project folder and use it instead of the new UDF or am I asking for trouble?

Ian

Share this post


Link to post
Share on other sites



You could have a look at the wiki. It's still work in progress but should give you a good starting point.

Or post your questions here and I will do my very best to answer them.O

r you copy the "old" Excel UDF to your project folder.


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 the quick reply. I did locate the wiki and the function descriptions in the description in the help file. What I didn't have was a copy of the old help file with the old function descriptions. I did find a copy of the older help file so I can probably do the translation.

I would prefer to move to the new UDF  

Here are the function I am calling. Some of these seem to be 1 for 1 replacements, Of particular interest are the highlighted functions 

_ExcelBookOpen($filename, 0)

_ExcelSheetDelete($oExcel, "Summary")
$SheetListArray = _ExcelSheetList($oExcel)
_ExcelSheetMove($oExcel, $SheetListArray[$i], $i, False)
_ExcelSheetAddNew($oExcel, "Summary")
_ExcelSheetMove($oExcel, "Summary", 1)
$tempstr = _ExcelReadCell($oExcel, $i, 2)
_ExcelSheetActivate($oExcel, $SheetListArray[$i])
$aArray = _ExcelReadSheetToArray($oExcel, 1, 5, 0, 1)
_ExcelWriteSheetFromArray($oExcel, $aArray, 1, $i + 4)
_ExcelWriteCell($oExcel, $SheetListArray[$i], $FeltRow, $i + 4)
_ExcelBookClose($oExcel, 1, 0)
 

Share this post


Link to post
Share on other sites

_ExcelBookOpen($filename, 0)

_ExcelSheetDelete($oExcel, "Summary")

$SheetListArray = _ExcelSheetList($oExcel)

_ExcelSheetMove($oExcel, $SheetListArray[$i], $i, False) => _Excel_SheetCopyMove

_ExcelSheetAddNew($oExcel, "Summary")

_ExcelSheetMove($oExcel, "Summary", 1) => _Excel_SheetCopyMove

$tempstr = _ExcelReadCell($oExcel, $i, 2) => _Excel_RangeRead

_ExcelSheetActivate($oExcel, $SheetListArray[$i])

$aArray = _ExcelReadSheetToArray($oExcel, 1, 5, 0, 1) => _Excel_RangeRead

_ExcelWriteSheetFromArray($oExcel, $aArray, 1, $i + 4) => _Excel_RangeWrite

_ExcelWriteCell($oExcel, $SheetListArray[$i], $FeltRow, $i + 4) => _Excel_RangeWrite

_ExcelBookClose($oExcel, 1, 0)

Added the new function names to your list. The changes regarding the parameters can be found in the changelog.


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

#5 ·  Posted (edited)

I think I have most of my changes made. Will debug tomorrow.

It appears there was quite a discussion regarding the changes. I was wondering if there was any thought given to provide the older Excel UDF functions as calls to the newer Excel UDF functions..

Appreciate the help.

Edited by ijourneaux

Share this post


Link to post
Share on other sites

Users can still use AutoIt 3.3.8.1 with the old Excel UDF or use the old UDF with the current version of AutoIt.

The discussions during development of the new UDF and during Beta stage of AutoIt 3.3..11.x showed that most of the people could live with the script breaking changes.

Providing both functions in a single UDF wouldn't be sensible because they would still be dropped someday in the future. So it was decided to do it now.


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 the info. I agree that a clean break is good and can understand the decision. I am involved in other projects where the old functions are labeled as depreciated with a warning that they will likely go away  at some time in the future. That way you can convert old projects more easily

Take Care

Ian

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