![]() |
Passing a variable from Excel to Word
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 |
Passing a variable from Excel to Word
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 "Rocky McKinley" wrote in message ... 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 |
Passing a variable from Excel to Word
Rocky,
..Application.Run "Print10",NumToPrint will pass the the value of NumToPrint to your macro Your word macro will be "Sub Print10 (Num)" HTH "Rocky McKinley" wrote: 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 |
All times are GMT +1. The time now is 06:58 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com