Sign in to follow this  
Followers 0
StefanoVR

HWnd($oExcel.hwnd()) Problem

4 posts in this topic

#1 ·  Posted (edited)

Good afternoon to everybody.

I have a little problem with this code:

$oExcel = My_VerificaoExcelAperto ($oExcel)
If IsObj($oExcel) Then
MsgBox(0,"Verificato che è stato passato un oggetto","OK")
EndIf

$hwndEXCEL = HWnd($oExcel.hwnd())
MsgBox(0,"Handle",$hwndEXCEL )
WinActivate($oExcel)
My_ResizeFull2($hwndEXCEL)

The function My_VerificaoExcelAperto ($oExcel) checks if the object $oExcel exists, if not asks to the user the file and open it, anyway returns an Excel Object.

hwndEXCEL = HWnd($oExcel.hwnd())

$hwndEXCEL = HWnd($oExcel.hwnd()^ ERROR

->12:36:31 AutoIT3.exe ended.rc:1

>Exit code: 1 Time: 17.689

Autoit stops with this error and I can't understand why. Do you have any suggestion??

Edited by StefanoVR

Share this post


Link to post
Share on other sites



It's probably telling you that $oExcel isn't an object, and that you can't use it the way you're using it because of that.

Just opening an Excel sheet won't cause $oExcel to magically become an object, you need to attach to or open the Excel spreadsheet, before you can use that method.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Just before the error I check

If IsObj($oExcel) Then

MsgBox(0,"Verificato che è stato passato un oggetto","OK")

EndIf

And Autoit recognize $oExcel as object. I open and attach to the spread sheet in the function.

Share this post


Link to post
Share on other sites

Please have a look at my ExcelEX UDF, function _Excel_Open. I check for an existing Excel object using ObjGet. If I get an error Excel doesn't run and hence has to be started using ObjCreate.

For AutoIt > 3.3.8.1 you just check @error. For AutoIt <= 3.3.8.1 you need a COM error handler.


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

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