Accessing Word from Excel

P

pikus

I want to know more about creating a word document using VBA in Excel.
So far I've come up with this:

Private Sub CommandButton1_Click()
Dim wrd As Word.Document
Application.ActivateMicrosoftApp (xlMicrosoftWord)
Set wrd = Word.Application.ActiveDocument
With Word.Application
wrd.Selection.TypeText "HI!"
End With
End Sub

But "ActiveX component can't create object" for this line:
Set wrd = Word.Application.ActiveDocument

Then I get "Object doesn't support this property or method" for This
line:
wrd.Selection.TypeText "HI!"

Any help is greatly appreciated - Pikus
 
C

Chip Pearson

Pikus,

Set a reference to the Word object library, then use something
like


Dim WordObj As Word.Application
Dim WordDoc As Word.Document
On Error Resume Next
Set WordObj = GetObject(, "Word.Application")
If WordObj Is Nothing Then
Set WordObj = CreateObject("Word.Application")
End If
On Error GoTo 0
If WordObj.Documents.Count = 0 Then
Set WordDoc = WordObj.Documents.Add
Else
Set WordDoc = WordObj.ActiveDocument
End If
WordObj.Selection.TypeText "Hello World"



--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
 
A

Andy

This code is taken from the Samples.Xls file supplied with Excel 97.

Sub MS_Word()
Dim wd As Object
'Create a Microsoft Word session
Set wd = CreateObject("word.application")
'Copy the chart on the Chart Labels sheet
Worksheets("Chart Labels").ChartObjects(1).Chart.ChartArea.Copy
'Make document visible
wd.Visible = True
'Activate MS Word
AppActivate wd.Name
With wd
'Open a new document in Microsoft Word
.Documents.Add
'Insert a paragraph
.Selection.TypeParagraph
'Paste the chart
.Selection.PasteSpecial link:=True, DisplayAsIcon:=False,
Placement:=wdInLine
End With
Set wd = Nothing
End Sub

--
Regards
Andy Wiggins
www.BygSoftware.com
Home of "Save and BackUp",
"The Excel Auditor" and "Byg Tools for VBA"
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top