ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Error opening Word document from Excel VBA code (https://www.excelbanter.com/excel-programming/409074-error-opening-word-document-excel-vba-code.html)

engineer_rich

Error opening Word document from Excel VBA code
 
I am trying to upgrade from Office 2003 to Office 2007. One problem I am
having is opening a Word document from Excel VBA code. It works fine in 2003
version but not in 2007 version.
Here's the code:
-----
Sub OpenMyDocument()
Dim myDoc As String
myDoc = [full path name of my document in quotes]

Dim myDocument As Document

Set myDocument = Documents.Open(myDoc)
MsgBox "opened"
myDocument.Close
MsgBox "closed"

Set myDocument = Nothing
End Sub
-----

I added a reference to "Microsoft Word 11.0 Object Library" for the Excel
2003 version which automatically becomes "Microsoft Word 12.0 Object Library"
for the Excel 2007 version.

The error I recieve is: "Run-time error '429': ActiveX component can't
create object" and occurs at the Documents.Open() command. I'm guessing it
chokes on opening the word document.

Anyone have any suggestions for correcting this?

urkec

Error opening Word document from Excel VBA code
 
"engineer_rich" wrote:

I am trying to upgrade from Office 2003 to Office 2007. One problem I am
having is opening a Word document from Excel VBA code. It works fine in 2003
version but not in 2007 version.
Here's the code:
-----
Sub OpenMyDocument()
Dim myDoc As String
myDoc = [full path name of my document in quotes]

Dim myDocument As Document

Set myDocument = Documents.Open(myDoc)
MsgBox "opened"
myDocument.Close
MsgBox "closed"

Set myDocument = Nothing
End Sub
-----

I added a reference to "Microsoft Word 11.0 Object Library" for the Excel
2003 version which automatically becomes "Microsoft Word 12.0 Object Library"
for the Excel 2007 version.

The error I recieve is: "Run-time error '429': ActiveX component can't
create object" and occurs at the Documents.Open() command. I'm guessing it
chokes on opening the word document.

Anyone have any suggestions for correcting this?


Try creating Word.Application object first, then use appWord.Documents.Open:

Sub OpenMyDocument()

Dim myDoc As String
myDoc = "c:\scripts\test.doc"

Dim appWord As New Word.Application
Dim myDocument As Word.Document

Set myDocument = appWord.Documents.Open(myDoc)
MsgBox "opened"
myDocument.Close
MsgBox "closed"

Set myDocument = Nothing

End Sub

--
urkec

engineer_rich

Error opening Word document from Excel VBA code
 
Thank you!

That worked perfectly.

I did add a:
Set appWord = Nothing
at the end to clean up a little.

Thanks again!!

"urkec" wrote:

"engineer_rich" wrote:

I am trying to upgrade from Office 2003 to Office 2007. One problem I am
having is opening a Word document from Excel VBA code. It works fine in 2003
version but not in 2007 version.
Here's the code:
-----
Sub OpenMyDocument()
Dim myDoc As String
myDoc = [full path name of my document in quotes]

Dim myDocument As Document

Set myDocument = Documents.Open(myDoc)
MsgBox "opened"
myDocument.Close
MsgBox "closed"

Set myDocument = Nothing
End Sub
-----

I added a reference to "Microsoft Word 11.0 Object Library" for the Excel
2003 version which automatically becomes "Microsoft Word 12.0 Object Library"
for the Excel 2007 version.

The error I recieve is: "Run-time error '429': ActiveX component can't
create object" and occurs at the Documents.Open() command. I'm guessing it
chokes on opening the word document.

Anyone have any suggestions for correcting this?


Try creating Word.Application object first, then use appWord.Documents.Open:

Sub OpenMyDocument()

Dim myDoc As String
myDoc = "c:\scripts\test.doc"

Dim appWord As New Word.Application
Dim myDocument As Word.Document

Set myDocument = appWord.Documents.Open(myDoc)
MsgBox "opened"
myDocument.Close
MsgBox "closed"

Set myDocument = Nothing

End Sub

--
urkec


urkec

Error opening Word document from Excel VBA code
 
"engineer_rich" wrote:

Thank you!

That worked perfectly.

I did add a:
Set appWord = Nothing
at the end to clean up a little.


Sorry, I also forgot to quit Word.Application:

....

appWord.Quit
Set appWord = Nothing


--
urkec


All times are GMT +1. The time now is 02:19 AM.

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