Passing a variable from Excel to Word

R

Rocky McKinley

My routine below works beautifully, I would like to pass the variable
"NumToPrint" to a Word macro called "Print10", so I can use it there to
determine the number of copies I should print.
Does anyone know how can I accomplish this?

Public NumToPrint As Integer
Sub PrintPostInstructions()
Dim oWord As Object
NumToPrint = Cells(1, 6)
On Error Resume Next
Set oWord = GetObject(, "Word.Application")
If Err Then
Set oWord = CreateObject("Word.Application")
End If
On Error GoTo 0
oWord.Application.Visible = True
oWord.Application.Activate
With oWord
..Documents.Open Filename:="E:\Documents\Angelika's Studio\Permanent
Make-Up\Post Instructions.doc", ReadOnly:=False
..Application.Run MacroName:="Normal.NewMacros.Print10"
oWord.Quit
End With
Set oWord = Nothing
End Sub


Thanks in advance,
Rocky McKinley
 
E

Ed

Rocky: You might explore Word's document variables (see Word VBA Help and
do a Google search through *word* groups). I've never used them before, but
it appears that you can create a new named variable resident in the
document, populate it, and reference it.

In this case, you might be able to create a "Temp" variable in the document
you open and populate it with your NumToPrint result. Then have your Word
macro call this variable for use in the macro. The last line of the macro
could destroy the variable, or close without saving changes.

Shot in the dark.
Ed
 
T

Toppers

Rocky,

..Application.Run "Print10",NumToPrint

will pass the the value of NumToPrint to your macro

Your word macro will be "Sub Print10 (Num)"


HTH
 
R

Rocky McKinley

Thanks that worked great.
I pass variables in routines all the time I just didn't think of doing it
across to Word.
Duh :)
 

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