Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming,microsoft.public.word.vba.general
|
|||
|
|||
![]()
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 |
#2
![]()
Posted to microsoft.public.excel.programming,microsoft.public.word.vba.general
|
|||
|
|||
![]()
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 |
#3
![]()
Posted to microsoft.public.excel.programming,microsoft.public.word.vba.general
|
|||
|
|||
![]()
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 |
#4
![]()
Posted to microsoft.public.excel.programming,microsoft.public.word.vba.general
|
|||
|
|||
![]()
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 |
#5
![]()
Posted to microsoft.public.excel.programming,microsoft.public.word.vba.general
|
|||
|
|||
![]()
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 |
#6
![]()
Posted to microsoft.public.excel.programming,microsoft.public.word.vba.general
|
|||
|
|||
![]()
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 |
#7
![]()
Posted to microsoft.public.excel.programming,microsoft.public.word.vba.general
|
|||
|
|||
![]() 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 |
#8
![]()
Posted to microsoft.public.excel.programming,microsoft.public.word.vba.general
|
|||
|
|||
![]()
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
pictures to work with "data" "sort" option | Excel Discussion (Misc queries) | |||
"on error resume next" NOT working... | Excel Programming | |||
how to stop "On error resume next" ? | Excel Programming | |||
Problem with "On error resume next" with "custom VLookup" | Excel Programming | |||
"On Error Resume Next" Question | Excel Programming |