Open Word Document using VBA in Excel

M

mokshadavid

In Excel & Word - 2002
All I am looking for is a simple VBA code to open a specific word document.
Something like:

Sub OpenDOC1()
Documents.Open ("C:\DOC1.doc")
EndSub()

I know there is more to VBA code than that, but this is the bare bones idea
of what I need.

Instead of having Users memorize many document path names on a shared drive
to access them, I have created a Excel worksheet "Control Panel", where Users
can use drop-down boxes to select from multiple document choices. (I think
this format could work in both Excel and Word tables importing excel data, so
my question isn't Excel-specific)

A user will pull down a drop down box in Excel, choose between DOC-1, DOC-2,
DOC-3. When the User selects the document name, then VBA code will open that
document in word. I found VBA to perform that operation; the VBA code needs
to call in another VBA macro that opens that specific word document, which is
why I need the code for how to open a specific doc.

ELSE: am I making this too confusing for myself? Would a function work
better for that? I really want to stick to the drop-down box format, it is
the most user-friendly option in my case.
 
J

Jim Cone

Something like the following.
Note that it opens a separate instance of Word, even if one is already open.
'--
Sub OpenWordDocumentFromExcel()
On Error GoTo BadShow
Dim oWord As Object
Set oWord = CreateObject("Word.application")
oWord.Documents.Open "C:\Documents and Settings\Text Docs\HENRY V.doc"
oWord.Visible = True
AppActivate oWord
Set oWord = Nothing
Exit Sub
BadShow:
oWord.Quit
Set oWord = Nothing
End Sub
--
Jim Cone
Portland, Oregon USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)




"mokshadavid"
<[email protected]>
wrote in message
In Excel & Word - 2002
All I am looking for is a simple VBA code to open a specific word document.
Something like:

Sub OpenDOC1()
Documents.Open ("C:\DOC1.doc")
EndSub()

I know there is more to VBA code than that, but this is the bare bones idea
of what I need.
Instead of having Users memorize many document path names on a shared drive
to access them, I have created a Excel worksheet "Control Panel", where Users
can use drop-down boxes to select from multiple document choices. (I think
this format could work in both Excel and Word tables importing excel data, so
my question isn't Excel-specific)
A user will pull down a drop down box in Excel, choose between DOC-1, DOC-2,
DOC-3. When the User selects the document name, then VBA code will open that
document in word. I found VBA to perform that operation; the VBA code needs
to call in another VBA macro that opens that specific word document, which is
why I need the code for how to open a specific doc.
ELSE: am I making this too confusing for myself? Would a function work
better for that? I really want to stick to the drop-down box format, it is
the most user-friendly option in my case.
 
M

mokshadavid

Thanks, so much for your answer. I used only part of the code. When I
tested all of the code you gave me, it would open up the document and then
close it immediately. Why is this?

Sub OpenWordDocumentFromExcel()
Dim oWord As Object
Set oWord = CreateObject("Word.application")
oWord.Documents.Open "C:\test"
oWord.Visible = True
End Sub
 
J

Jim Cone

Probably, because of the error handling in the code.
If an error is generated then it closes word.
An error would be generated (for instance) if the file "C:\Test" did not exist.
It's your call.

Note: when controlling another application from Excel,
you should always set object references to nothing when exiting the sub...
"Set oWord = Nothing"
--
Jim Cone
Portland, Oregon USA
http://www.realezsites.com/bus/primitivesoftware
(Excel Add-ins / Excel Programming)



"mokshadavid" <[email protected]>
wrote in message
Thanks, so much for your answer. I used only part of the code. When I
tested all of the code you gave me, it would open up the document and then
close it immediately. Why is this?

Sub OpenWordDocumentFromExcel()
Dim oWord As Object
Set oWord = CreateObject("Word.application")
oWord.Documents.Open "C:\test"
oWord.Visible = True
End Sub
 
M

mokshadavid

Thanks, you answered my question. I hope anybody looking for how to Open a
microsoft word document with a Macro, VBA, or Function, will find your answer
post when searching. It helped me alot.
 
J

Jim Cone

You are welcome.
'--
Jim Cone
Portland, Oregon



"mokshadavid"
<[email protected]>
wrote in message
Thanks, you answered my question. I hope anybody looking for how to Open a
microsoft word document with a Macro, VBA, or Function, will find your answer
post when searching. It helped me alot.
 
V

Vineet Dewan

Hi,

I need to print an excel form in Landscape layout in a Shared Excel Workbook.

I have the code that simulates the Alt + PrntScreen and then pastes onto a temporary Worksheet and prints it in a Landscape layout.

However, this functionality does not work in a shared workbook.

Can anyone tell me how to do that in a shared workbook?

Thanks
Vineet Dewan
 

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