Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 40
Default 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
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 40
Default 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

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,514
Default 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


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
starting Word with an Excel macro Russ Excel Programming 2 December 6th 09 09:07 PM
starting Word from an Excel macro Russ Excel Programming 3 November 23rd 09 06:18 PM
keyboard is locked after starting in both word and excel kfaul Excel Discussion (Misc queries) 0 November 18th 08 03:48 PM
Starting Word from Excel AndyC812 Excel Programming 2 June 14th 08 05:57 PM
Starting Excel from Word MichaelS_[_6_] Excel Programming 4 March 3rd 06 03:50 PM


All times are GMT +1. The time now is 10:27 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"