My spreadsheet contains date orientated data and I want the users to be able to click a button and generate a mailmerge document which is date sensitive
I.e. naive user clicks button and Week1 mailmerge is generated using only data that falls into the week1 parameters
same with week2 etc…
Can anyone help with the vba syntax for calling Word to open an existing document please?
![]() |
Patch reliability is unclear. Unless you have an immediate, pressing need to install a specific patch, don't do it. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |
-
Call Word from Excel by vba (2000)
Home » Forums » AskWoody support » Productivity software by function » MS Excel and spreadsheet help » Call Word from Excel by vba (2000)
- This topic has 11 replies, 3 voices, and was last updated 20 years, 5 months ago.
AuthorTopicWSclockwork
AskWoody LoungerJanuary 8, 2005 at 1:18 pm #414291Viewing 6 reply threadsAuthorReplies-
WSsdckapr
AskWoody LoungerJanuary 8, 2005 at 3:08 pm #919669Does the example code in post 191959 answer your question?
Steve
-
WSsdckapr
AskWoody LoungerJanuary 8, 2005 at 3:08 pm #919670Does the example code in post 191959 answer your question?
Steve
-
WSHansV
AskWoody LoungerJanuary 8, 2005 at 3:47 pm #919682Here is a procedure that initiates a mail merge from Excel. To use it, you must set a reference (in Tools | References… in the Visual Basic Editor) to the Microsoft Word 9.0 Object Library. You will have to modify it to suit your needs; comments indicate where you must substitute the correct values.
Sub StartMailMerge()
Dim wrdApp As Word.Application
Dim wrdMergeDoc As Word.Document
Dim wrdResultDoc As Word.Document
Dim fNotActive As Boolean
Dim strSQL As String
Dim lngWeek As LongOn Error Resume Next
lngWeek = Val(InputBox("Enter week number", , Format(Date, "ww")))
If lngWeek 53 Then
Beep
Exit Sub
End If' Substitute sheet name and name of date column
strSQL = "SELECT * FROM `Sheet1$` WHERE Format([Date],'ww') = '" & lngWeek & "'"Set wrdApp = GetObject(, "Word.Application")
If wrdApp Is Nothing Then
Set wrdApp = CreateObject("Word.Application")
If wrdApp Is Nothing Then
MsgBox "Can't start Word.", vbExclamation
Exit Sub
End If
fNotActive = True
End IfOn Error GoTo ErrHandler
' Substitute path and name of Word document
Set wrdMergeDoc = wrdApp.Documents.Open("C:WordTest.doc")With wrdMergeDoc.MailMerge
.OpenDataSource Name:=ActiveWorkbook.FullName, _
ReadOnly:=True, LinkToSource:=True, AddToRecentFiles:=False, _
SQLStatement:=strSQL
' Optional: merge to new document (if it already contains merge fields)
.Execute
End WithExitHandler:
Set wrdMergeDoc = Nothing
Set wrdApp = Nothing
Exit SubErrHandler:
On Error Resume Next
MsgBox Err.Description, vbExclamation
wrdMergeDoc.Close SaveChanges:=wdDoNotSaveChanges
If fNotActive And Not (wrdApp Is Nothing) Then
wrdApp.Quit
End If
Set wrdApp = Nothing
Resume ExitHandler
End SubI hope this works correctly in Office 2000 (I’m using Office XP, where mail merge has changed considerably)
-
WSclockwork
AskWoody LoungerJanuary 9, 2005 at 7:33 am #919798Steves response is simple and straightforward but prints the mailmerge document, rather than running the mailmerge and printing all the pages
I changes the mailmerge document into a *.dot file, buit it then prints only page 1
Is there a way to make it print all the pages?
I tried – odoc.printout range:=wdPrintFromTo, from:=”1″, to:=”9″
but everything after odoc.prinout appears to be ignored -
WSclockwork
AskWoody LoungerJanuary 9, 2005 at 7:33 am #919799Steves response is simple and straightforward but prints the mailmerge document, rather than running the mailmerge and printing all the pages
I changes the mailmerge document into a *.dot file, buit it then prints only page 1
Is there a way to make it print all the pages?
I tried – odoc.printout range:=wdPrintFromTo, from:=”1″, to:=”9″
but everything after odoc.prinout appears to be ignored -
WSclockwork
AskWoody Lounger -
WSclockwork
AskWoody Lounger -
WSsdckapr
AskWoody LoungerJanuary 9, 2005 at 9:27 am #9198121) Try:
Dim wrdApp As object
2) concerning the code I referenced, this was not written by me. All the coding you are doing in the wrdApp is actually coding in Word VB and not excel VB. SInce I do not use word, I am very limited in my knowledge of word vb and will leave that to those who know that object model.
Steve
-
WSsdckapr
AskWoody LoungerJanuary 9, 2005 at 9:27 am #9198131) Try:
Dim wrdApp As object
2) concerning the code I referenced, this was not written by me. All the coding you are doing in the wrdApp is actually coding in Word VB and not excel VB. SInce I do not use word, I am very limited in my knowledge of word vb and will leave that to those who know that object model.
Steve
-
WSHansV
AskWoody Lounger -
WSHansV
AskWoody Lounger
-
Viewing 6 reply threads -

Plus Membership
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Get Plus!
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Search Newsletters
Search Forums
View the Forum
Search for Topics
Recent Topics
-
Acronis : Tracking Chaos RAT’s evolution (Windows, Linux)
by
Alex5723
4 hours ago -
Turning off OneDrive
by
CWBillow
8 hours, 30 minutes ago -
June 2025 updates are out
by
Susan Bradley
34 minutes ago -
Mozilla shutting Deep Fake Detector
by
Alex5723
18 hours, 47 minutes ago -
Windows-Maintenance-Tool (.bat)
by
Alex5723
4 hours, 9 minutes ago -
Windows 11 Insider Preview build 26200.5641 released to DEV
by
joep517
21 hours, 19 minutes ago -
Windows 11 Insider Preview build 26120.4250 (24H2) released to BETA
by
joep517
21 hours, 21 minutes ago -
Install Office 365 Outlook classic on new Win11 machine
by
WSrcull999
21 hours, 18 minutes ago -
win 10 to win 11 with cpu/mb replacement
by
aquatarkus
13 hours, 11 minutes ago -
re-install Windows Security
by
CWBillow
1 day ago -
WWDC 2025 Recap: All of Apple’s NEW Features in 10 Minutes!
by
Alex5723
1 day, 4 hours ago -
macOS Tahoe 26
by
Alex5723
22 hours, 29 minutes ago -
Migrating from win10 to win11, instructions coming?
by
astro46
10 hours, 34 minutes ago -
Device Eligibility for Apple 2026 Operating Systems due this Fall
by
PKCano
13 hours, 2 minutes ago -
Recommended watching : Mountainhead movie
by
Alex5723
13 hours, 46 minutes ago -
End of support for Windows 10
by
Old enough to know better
13 hours, 42 minutes ago -
What goes on inside an LLM
by
Michael Covington
7 hours, 55 minutes ago -
The risk of remote access
by
Susan Bradley
3 hours, 35 minutes ago -
The cruelest month for many Office users
by
Peter Deegan
19 hours, 58 minutes ago -
Tracking protection and trade-offs in Edge
by
Mary Branscombe
18 hours, 1 minute ago -
Supreme Court grants DOGE access to confidential Social Security records
by
Alex5723
2 days, 2 hours ago -
EaseUS Partition Master free 19.6
by
Alex5723
1 day, 3 hours ago -
Microsoft : Edge is better than Chrome
by
Alex5723
2 days, 15 hours ago -
The EU launched DNS4EU
by
Alex5723
3 days, 4 hours ago -
Cell Phone vs. Traditional Touchtone Phone over POTS
by
280park
2 days, 18 hours ago -
Lost access to all my networked drives (shares) listed in My Computer
by
lwerman
3 days, 10 hours ago -
Set default size for pasted photo to word
by
Cyn
3 days, 16 hours ago -
Dedoimedo tries 24H2…
by
Cybertooth
3 days, 4 hours ago -
Windows 11 Insider Preview build 27871 released to Canary
by
joep517
4 days, 15 hours ago -
Windows 11 ad from Campaign Manager in Windows 10
by
Jim McKenna
2 days, 7 hours ago
Recent blog posts
Key Links
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.