Jump to content
Sign in to follow this  
if1467

Loop through all open Excel.Application Objects

Recommended Posts

if1467

I have a situation where I have multiple instances of excel open and i am trying to use _ExcelBookAttach to get 1 workbook from all the open instances.  The ObjGet picks up the 1st instance of excel that was opened but that is not always the one that has the workbook I need. Is there a way to loop through all the open Excel.Application objects so that I can check each on to see if the correct workbook is in that instance? I stripped down the _ExcelBookAttach UDF to demonstrate what I am looking for.
 

#include <Excel.au3>
Opt("WinTitleMatchMode", 2)
 
$objExcelBookTemp=_ExcelBookAttach1("Sheet1","Title")
_ExcelWriteCell($objExcelBookTemp,"TestCell",1,1)
 
 
Func _ExcelBookAttach1($s_string, $s_mode = "FilePath")
Local $o_Result
$o_Result = ObjGet("", "Excel.Application")
 
;Object Loop Starts Here
Local $o_workbooks = $o_Result.Application.Workbooks
For $o_workbook In $o_workbooks
If StringInStr($o_workbook.Application.Caption, $s_string) Then
Return $o_workbook
EndIf
Next
;Object Loop Ends Here
 
ConsoleWrite("--> Warning from function _ExcelAttach, No Match" & @CRLF)
Return SetError(1, 5, 0)
EndFunc   ;==>_ExcelBookAttach

Share this post


Link to post
Share on other sites
water

Please have a look at my rewrite of the Excel UDF (for doenload please check my signature). This allows to handle multiple instances.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
if1467

Thanks water.  That got me going in the right direction.  I also found that I needed to update to v3.3.10

Share this post


Link to post
Share on other sites
water

If there is something missing in the UDF, please let me know. It's still in beta status but will replace the current Excel UDF in the next beta release of AutoIt.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

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  

×