View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Clif McIrvin[_3_] Clif McIrvin[_3_] is offline
external usenet poster
 
Posts: 203
Default xlDialogWorkbookMove crashing Excel (object has disconnected error)

Update:
Today, I did more testing and managed to catch the error dialog box:

Automation error
The object invoked has disconnected from it's clients.

followed by "the application has encountered an error and needs to
close."

1. Move within the same workbook executed without error.
2. Move to (new book) produced "object disconnected error" and crash.
3. Move to other open book produced crash without error dialog.

At this point I modified the macro to use the Copy dialog followed by
code that deletes the extra worksheet so I have a useable work-around.

"Clif McIrvin" wrote in message
...
xl2010
Win XP Pro SP3

A while back I created a macro to create and massage a new worksheet,
then show the built-in Move/Copy worksheet dialog so I could specify
where to move the new worksheet.

I've used the macro several times since. Now it's crashing "after"
using the built-in dialog xlDialogWorkbookMove. I say after, because
after xl recovers, the sheet was moved correctly in the recovered
workbooks.

I can invoke the dialog from the UI, and all is well.
It doesn't matter if I use xlDialogWorkbookMove or
xlDialogWorkbookCopy, the same symptoms occur.

If I cancel, no error.
If I copy, no error.
If I move, the move is completed, but xl Crashes.

When the error first occurred, I got an error pop-up but I didn't
write down the error number. After adding On Error Resume Next, I no
longer get the error pop-up, but I never reach the next statement,
either (using VBE debugger to single-step.)

Now, I removed the On Error Resume Next to capture the error message
for this post, but I'm no longer getting the error pop-up ?!

I did a shutdown / restart ... no joy.

I created this bare bones procedure, and it also falls over as
described above.


Option Explicit

Sub x()
Dim vv
Dim v
On Error Resume Next
v = Application.Dialogs(xlDialogWorkbookMove).Show
Set vv = Err
On Error GoTo 0
End Sub


My original code included only the single statement

Application.Dialogs(xlDialogWorkbookMove).Show

at the end of the procedure. I tried adding the [ v = ... ] and the
error trapping just to see if it made any difference.

Any suggestions?

Memory and/or other hardware trouble beginning in my
long-in-the-tooth desktop?

Interference from some recent automatic windows update?

--
Clif McIrvin

(clare reads his mail with moe, nomail feeds the bit bucket :-)





--
Clif McIrvin

(clare reads his mail with moe, nomail feeds the bit bucket :-)