Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Excel throws exception if cell being edited


I'm at my wits end with this bug.. I'm hoping this is so common, that
there is a very simple fix.

I have a C++ app that does COM based import/export of data directly
from Excel, but I have to think that anyone doing VBA would see this
all the time..

All of my calls to Excel to determine current workbook, how many
workbooks, current worksheet, how many worksheets, getting/setting cell
data all work wonderfully.. *unless* the user was editing a cell in the
worksheet..

If the worksheet is left in 'editing mode', almost all of the COM calls
will thow an exception, and not return successfully.

To get out of 'editing mode', I have tried everything from
SendKeys("ENTER") to closing the damn Workbook & reopening it (and
switching workbooks, activating, etc etc)

The machine either locks up, or just throws more exceptions.

I've meticulously gone through excel9.tli and excel9.tlh, looking for
some method remotely pertainant, such as a 'deactive' or 'end edit' or
anything that would allow the COM automation calls to succeed..

This is so very frustrating, because one very common user action in
Excel can bring (the functionality of) my whole app to its knees..

Any help/pointers/direction/solution would be greatly appreciated..

Thank You.



--
Pixeled
------------------------------------------------------------------------
Pixeled's Profile:
http://www.excelforum.com/member.php...o&userid=26932
View this thread: http://www.excelforum.com/showthread...hreadid=401558

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 575
Default Excel throws exception if cell being edited

I haven't tried to do this with automation, but all of us in the VBA sphere
just know that if a cell is being edited then VBA will not function.

In most VBA situations, it's hard to get into this position. If VBA is
running you can't edit, if editing VBA can't run, so the most typical time
that we see this is when scheduling routines to run at a future time.

There is no method that I know of that will get you out of edit mode
unfortunately. I'd guess you are looking at some kind of control loop in VB
that creates a delay and a retry if your call fails.

Alternatively, can you do this with another hidden instance of Excel rather
than the instance that can be locked up by your users? Or, can you have a
launch routine that asks your user if it is ok to run, and an exit message
when your code has run. This way if the launch routine fails you don't do
anything. I know I'd be annoyed if Excel got hijacked while I was working on
something.

Robin Hammond
www.enhanceddatasystems.com

"Pixeled" wrote in
message ...

I'm at my wits end with this bug.. I'm hoping this is so common, that
there is a very simple fix.

I have a C++ app that does COM based import/export of data directly
from Excel, but I have to think that anyone doing VBA would see this
all the time..

All of my calls to Excel to determine current workbook, how many
workbooks, current worksheet, how many worksheets, getting/setting cell
data all work wonderfully.. *unless* the user was editing a cell in the
worksheet..

If the worksheet is left in 'editing mode', almost all of the COM calls
will thow an exception, and not return successfully.

To get out of 'editing mode', I have tried everything from
SendKeys("ENTER") to closing the damn Workbook & reopening it (and
switching workbooks, activating, etc etc)

The machine either locks up, or just throws more exceptions.

I've meticulously gone through excel9.tli and excel9.tlh, looking for
some method remotely pertainant, such as a 'deactive' or 'end edit' or
anything that would allow the COM automation calls to succeed..

This is so very frustrating, because one very common user action in
Excel can bring (the functionality of) my whole app to its knees..

Any help/pointers/direction/solution would be greatly appreciated..

Thank You.



--
Pixeled
------------------------------------------------------------------------
Pixeled's Profile:
http://www.excelforum.com/member.php...o&userid=26932
View this thread: http://www.excelforum.com/showthread...hreadid=401558



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,071
Default Excel throws exception if cell being edited

Not surprising. My guess is that it's an artifact of XL's long life.
XL doesn't allow any macros to run when it is in edit mode. Which was
just fine, I assume, when the only way to run code was by asking XL to
do so. However, over time MS has come up with other ways to run code
that interacts with XL. And, XL hasn't been updated to deal with such
demands. Consequently, it crashes.

Another way to cause an XL crash is to schedule VBA code with the
SetTimer/KillTimer APIs. [On the other hand, if one uses XL's own
OnTime method to run code, the operation is delayed until XL exits edit
mode.]

My suggestion would be assume that if you are using the same instance
of XL as a human, you need to coordinate your actions with that person.
Alternatively, instantiate your own copy of XL (keep it hidden) and do
your thing with that instance.

Not to mention that forcibly exiting edit mode (assuming you find a way
to do that) is extremely customer-hostile. Do that to me once and I
trash your software.

--
Regards,

Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions

In article ,
says...

I'm at my wits end with this bug.. I'm hoping this is so common, that
there is a very simple fix.

I have a C++ app that does COM based import/export of data directly
from Excel, but I have to think that anyone doing VBA would see this
all the time..

All of my calls to Excel to determine current workbook, how many
workbooks, current worksheet, how many worksheets, getting/setting cell
data all work wonderfully.. *unless* the user was editing a cell in the
worksheet..

If the worksheet is left in 'editing mode', almost all of the COM calls
will thow an exception, and not return successfully.

To get out of 'editing mode', I have tried everything from
SendKeys("ENTER") to closing the damn Workbook & reopening it (and
switching workbooks, activating, etc etc)

The machine either locks up, or just throws more exceptions.

I've meticulously gone through excel9.tli and excel9.tlh, looking for
some method remotely pertainant, such as a 'deactive' or 'end edit' or
anything that would allow the COM automation calls to succeed..

This is so very frustrating, because one very common user action in
Excel can bring (the functionality of) my whole app to its knees..

Any help/pointers/direction/solution would be greatly appreciated..

Thank You.



--
Pixeled
------------------------------------------------------------------------
Pixeled's Profile:
http://www.excelforum.com/member.php...o&userid=26932
View this thread: http://www.excelforum.com/showthread...hreadid=401558


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Workbook Name Edited in Cell RoadKill Excel Worksheet Functions 1 September 5th 08 07:11 PM
Go to Last edited cell Manju Excel Worksheet Functions 3 August 30th 06 03:01 PM
Protect Cell from being edited alexandra60 Excel Discussion (Misc queries) 1 February 17th 06 03:39 PM
Calling from C#.Net App Office._CommandBarButton.Execute() method in Excel 2003 throws a COMException Jacek Excel Programming 1 December 21st 03 03:48 PM
Chart.Export throws COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC. Steven Excel Programming 1 November 5th 03 06:59 PM


All times are GMT +1. The time now is 12:01 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"