Jump to content

Loop through all open Excel.Application Objects


Go to solution Solved by water,

Recommended Posts

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
Link to comment
Share on other sites

  • Solution

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 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

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 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...