ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Problems starting Word from Excel VBA (https://www.excelbanter.com/excel-programming/449974-problems-starting-word-excel-vba.html)

[email protected]

Problems starting Word from Excel VBA
 
I have this code (as part of a long automation code, that simulates mailmerge by substituting bookmarks in a Word template with information from a spreadsheet):

On Error Resume Next
Set Wdapp = GetObject(, "Word.application")
If Err.Number < 0 Then
Set Wdapp = CreateObject("Word.Application")
End If

It was made for Excel 2003, and now - after having upgraded to 2007 it does not work. If an instance of Word is already open, when I run the code, it Works as it is supposed, but if Word is not already started, it doesn't. So apparently the
Set Wdapp = CreateObject("Word.Application") par does not execute.

I have references to

Visual Basic for Applications
Microsoft Excel 12.0 Object Library
OLE Automation
Microsoft Office 12.0 Object Library
Microsoft Word 12.0 Object Library
Microsoft Office 12 Authorization Control 1.0 Type Library
Microsoft ActiveX Data Objects 2.8 Library
Microsoft ActiveX Data Objects Recordset 6.0 Library

What am I missing here?

Jan

Claus Busch

Problems starting Word from Excel VBA
 
Hi Jan,

Am Thu, 3 Apr 2014 03:50:43 -0700 (PDT) schrieb :

It was made for Excel 2003, and now - after having upgraded to 2007 it does not work. If an instance of Word is already open, when I run the code, it Works as it is supposed, but if Word is not already started, it doesn't. So apparently the
Set Wdapp = CreateObject("Word.Application") par does not execute.


you have to open an existing document or to add a new document:

Set ObjWord = CreateObject("Word.Application")

With ObjWord
.Visible = True
' .documents.Open "E:\Excel_NG\Freigaben bei OneDrive.docx"
.documents.Add
End With


Regards
Claus B.
--
Vista Ultimate SP2 / Windows7 SP1
Office 2007 Ultimate SP3 / 2010 Professional

[email protected]

Problems starting Word from Excel VBA
 
Thank you. But why did it Work in 2003 then? Or is this a new thing?

Jan



Den torsdag den 3. april 2014 13.06.54 UTC+2 skrev Claus Busch:
Hi Jan,



Am Thu, 3 Apr 2014 03:50:43 -0700 (PDT) schrieb :



It was made for Excel 2003, and now - after having upgraded to 2007 it does not work. If an instance of Word is already open, when I run the code, it Works as it is supposed, but if Word is not already started, it doesn't. So apparently the


Set Wdapp = CreateObject("Word.Application") par does not execute.




you have to open an existing document or to add a new document:



Set ObjWord = CreateObject("Word.Application")



With ObjWord

.Visible = True

' .documents.Open "E:\Excel_NG\Freigaben bei OneDrive.docx"

.documents.Add

End With





Regards

Claus B.

--

Vista Ultimate SP2 / Windows7 SP1

Office 2007 Ultimate SP3 / 2010 Prof


GS[_2_]

Problems starting Word from Excel VBA
 
GetObject("Word.Application") hijacks a running instance of the
application, and so if Word is not running then your reference *Is
Nothing*!

CreateObject("Word.Application") starts an automated instance of Word
if it's installed on the machine. If not installed then your reference
*Is Nothing*!

I don't see where you check to see that the instance of Word you want
to use actually exists...


Dim oWD As Object

Set oWD = GetObject("Word.Application")
If oWD Is Nothing Then CreateObject("Word.Application")

If Not oWD Is Nothing Then
'if you got here then
'you have a fully qualified ref
'to a running instance of Word,
'so do stuff!
End If

--
Garry

Free usenet access at http://www.eternal-september.org
Classic VB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion




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

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