ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Why doesn't "Resume Next" work? (https://www.excelbanter.com/excel-programming/344345-why-doesnt-resume-next-work.html)

Ed

Why doesn't "Resume Next" work?
 
I wrote a macro in Excel 2000 VBA to open a document in Word 2000. I used
code from the GetObject Help file to check if Word is already active. But
the code stops on an error generated by using GetObject - "Active X
component can't create object." On Error Resume Next does not drop the code
through to the next line.

Can someone explain what I have wrong?
Ed

Sub FindDoc()

Dim WD As Object
Dim doc As String
Dim Fname As String
Dim Fpath As String

' Get file path
Fpath = ThisWorkbook.Path

Sheets("Sheet1").Activate

' Get doc number from list page
Fname = ActiveCell.Text

' Open doc
On Error Resume Next
' **ERROR NEXT LINE**
Set WD = GetObject(, "Word.Application")
MsgBox Err.Number
If Err.Number < 0 Then
Set WD = CreateObject("Word.Application")
End If
Err.Clear
On Error GoTo 0

doc = Fpath & "\" & Fname & ".doc"

WD.Documents.Open doc
WD.Visible = True

End Sub



Norman Jones

Why doesn't "Resume Next" work?
 
Hi Ed,

Do you have the 'Break on all errors' option checked?

Tools | Options | General Tab


---
Regards,
Norman



"Ed" wrote in message
...
I wrote a macro in Excel 2000 VBA to open a document in Word 2000. I used
code from the GetObject Help file to check if Word is already active. But
the code stops on an error generated by using GetObject - "Active X
component can't create object." On Error Resume Next does not drop the
code
through to the next line.

Can someone explain what I have wrong?
Ed

Sub FindDoc()

Dim WD As Object
Dim doc As String
Dim Fname As String
Dim Fpath As String

' Get file path
Fpath = ThisWorkbook.Path

Sheets("Sheet1").Activate

' Get doc number from list page
Fname = ActiveCell.Text

' Open doc
On Error Resume Next
' **ERROR NEXT LINE**
Set WD = GetObject(, "Word.Application")
MsgBox Err.Number
If Err.Number < 0 Then
Set WD = CreateObject("Word.Application")
End If
Err.Clear
On Error GoTo 0

doc = Fpath & "\" & Fname & ".doc"

WD.Documents.Open doc
WD.Visible = True

End Sub





impslayer

Why doesn't "Resume Next" work?
 

Ed skrev:

I wrote a macro in Excel 2000 VBA to open a document in Word 2000. I used
code from the GetObject Help file to check if Word is already active. But
the code stops on an error generated by using GetObject - "Active X
component can't create object." On Error Resume Next does not drop the code
through to the next line.

Can someone explain what I have wrong?
Ed


Hi Ed,

Are you sure the error emerges where you think, and not on the
"WD.Documents.Open doc" (which is out of the On Error Resume Next
scope)?

/impslayer


Ed

Why doesn't "Resume Next" work?
 
Yes.

"Norman Jones" wrote in message
...
Hi Ed,

Do you have the 'Break on all errors' option checked?

Tools | Options | General Tab


---
Regards,
Norman



"Ed" wrote in message
...
I wrote a macro in Excel 2000 VBA to open a document in Word 2000. I

used
code from the GetObject Help file to check if Word is already active.

But
the code stops on an error generated by using GetObject - "Active X
component can't create object." On Error Resume Next does not drop the
code
through to the next line.

Can someone explain what I have wrong?
Ed

Sub FindDoc()

Dim WD As Object
Dim doc As String
Dim Fname As String
Dim Fpath As String

' Get file path
Fpath = ThisWorkbook.Path

Sheets("Sheet1").Activate

' Get doc number from list page
Fname = ActiveCell.Text

' Open doc
On Error Resume Next
' **ERROR NEXT LINE**
Set WD = GetObject(, "Word.Application")
MsgBox Err.Number
If Err.Number < 0 Then
Set WD = CreateObject("Word.Application")
End If
Err.Clear
On Error GoTo 0

doc = Fpath & "\" & Fname & ".doc"

WD.Documents.Open doc
WD.Visible = True

End Sub







Ed

Why doesn't "Resume Next" work?
 
When the error occurs when the macro is run, the Debug / Exit alert box pops
up, the screen flips to the VBE, and the line highlighted in yellow is the
GetObject line. The WD.Documents.Open line works fine if an instance of
Word is already available. If not, I get the error.

Ed

"impslayer" wrote in message
oups.com...

Ed skrev:

I wrote a macro in Excel 2000 VBA to open a document in Word 2000. I

used
code from the GetObject Help file to check if Word is already active.

But
the code stops on an error generated by using GetObject - "Active X
component can't create object." On Error Resume Next does not drop the

code
through to the next line.

Can someone explain what I have wrong?
Ed


Hi Ed,

Are you sure the error emerges where you think, and not on the
"WD.Documents.Open doc" (which is out of the On Error Resume Next
scope)?

/impslayer




Tom Ogilvy

Why doesn't "Resume Next" work?
 
Just to remove any doubt,

then change it to Break on Unhandled errors.

--
Regards,
Tom Ogilvy

"Ed" wrote in message
...
Yes.

"Norman Jones" wrote in message
...
Hi Ed,

Do you have the 'Break on all errors' option checked?

Tools | Options | General Tab


---
Regards,
Norman



"Ed" wrote in message
...
I wrote a macro in Excel 2000 VBA to open a document in Word 2000. I

used
code from the GetObject Help file to check if Word is already active.

But
the code stops on an error generated by using GetObject - "Active X
component can't create object." On Error Resume Next does not drop

the
code
through to the next line.

Can someone explain what I have wrong?
Ed

Sub FindDoc()

Dim WD As Object
Dim doc As String
Dim Fname As String
Dim Fpath As String

' Get file path
Fpath = ThisWorkbook.Path

Sheets("Sheet1").Activate

' Get doc number from list page
Fname = ActiveCell.Text

' Open doc
On Error Resume Next
' **ERROR NEXT LINE**
Set WD = GetObject(, "Word.Application")
MsgBox Err.Number
If Err.Number < 0 Then
Set WD = CreateObject("Word.Application")
End If
Err.Clear
On Error GoTo 0

doc = Fpath & "\" & Fname & ".doc"

WD.Documents.Open doc
WD.Visible = True

End Sub









Ed

Why doesn't "Resume Next" work?
 
As usual, Tom, that did it! I guess I had the mistaken assumption that On
Error Resume Next would override any setting to break on an error. I assume
this is an application setting, and not specific to an individual file or
template?

Ed

"Tom Ogilvy" wrote in message
...
Just to remove any doubt,

then change it to Break on Unhandled errors.

--
Regards,
Tom Ogilvy

"Ed" wrote in message
...
Yes.

"Norman Jones" wrote in message
...
Hi Ed,

Do you have the 'Break on all errors' option checked?

Tools | Options | General Tab


---
Regards,
Norman



"Ed" wrote in message
...
I wrote a macro in Excel 2000 VBA to open a document in Word 2000. I

used
code from the GetObject Help file to check if Word is already

active.
But
the code stops on an error generated by using GetObject - "Active X
component can't create object." On Error Resume Next does not drop

the
code
through to the next line.

Can someone explain what I have wrong?
Ed

Sub FindDoc()

Dim WD As Object
Dim doc As String
Dim Fname As String
Dim Fpath As String

' Get file path
Fpath = ThisWorkbook.Path

Sheets("Sheet1").Activate

' Get doc number from list page
Fname = ActiveCell.Text

' Open doc
On Error Resume Next
' **ERROR NEXT LINE**
Set WD = GetObject(, "Word.Application")
MsgBox Err.Number
If Err.Number < 0 Then
Set WD = CreateObject("Word.Application")
End If
Err.Clear
On Error GoTo 0

doc = Fpath & "\" & Fname & ".doc"

WD.Documents.Open doc
WD.Visible = True

End Sub











Tom Ogilvy

Why doesn't "Resume Next" work?
 
Yes, it is an application setting as I recall.

--
Regards,
Tom Ogilvy

"Ed" wrote in message
...
As usual, Tom, that did it! I guess I had the mistaken assumption that On
Error Resume Next would override any setting to break on an error. I

assume
this is an application setting, and not specific to an individual file or
template?

Ed

"Tom Ogilvy" wrote in message
...
Just to remove any doubt,

then change it to Break on Unhandled errors.

--
Regards,
Tom Ogilvy

"Ed" wrote in message
...
Yes.

"Norman Jones" wrote in message
...
Hi Ed,

Do you have the 'Break on all errors' option checked?

Tools | Options | General Tab


---
Regards,
Norman



"Ed" wrote in message
...
I wrote a macro in Excel 2000 VBA to open a document in Word 2000.

I
used
code from the GetObject Help file to check if Word is already

active.
But
the code stops on an error generated by using GetObject - "Active

X
component can't create object." On Error Resume Next does not

drop
the
code
through to the next line.

Can someone explain what I have wrong?
Ed

Sub FindDoc()

Dim WD As Object
Dim doc As String
Dim Fname As String
Dim Fpath As String

' Get file path
Fpath = ThisWorkbook.Path

Sheets("Sheet1").Activate

' Get doc number from list page
Fname = ActiveCell.Text

' Open doc
On Error Resume Next
' **ERROR NEXT LINE**
Set WD = GetObject(, "Word.Application")
MsgBox Err.Number
If Err.Number < 0 Then
Set WD = CreateObject("Word.Application")
End If
Err.Clear
On Error GoTo 0

doc = Fpath & "\" & Fname & ".doc"

WD.Documents.Open doc
WD.Visible = True

End Sub














All times are GMT +1. The time now is 11:39 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com