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, 4 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
-
Kevin Beaumont on Microsoft Recall
by
Susan Bradley
1 hour, 47 minutes ago -
The Surface Laptop Studio 2 is no longer being manufactured
by
Alex5723
2 hours, 53 minutes ago -
0Patch, where to begin
by
cassel23
2 hours, 39 minutes ago -
CFPB Quietly Kills Rule to Shield Americans From Data Brokers
by
Alex5723
16 hours, 31 minutes ago -
89 million Steam account details just got leaked,
by
Alex5723
4 hours, 17 minutes ago -
KB5058405: Linux – Windows dual boot SBAT bug, resolved with May 2025 update
by
Alex5723
1 day, 1 hour ago -
A Validation (were one needed) of Prudent Patching
by
Nibbled To Death By Ducks
16 hours, 3 minutes ago -
Master Patch Listing for May 13, 2025
by
Susan Bradley
3 hours, 11 minutes ago -
Installer program can’t read my registry
by
Peobody
4 hours, 3 minutes ago -
How to keep Outlook (new) in off position for Windows 11
by
EspressoWillie
13 hours, 50 minutes ago -
Intel : CVE-2024-45332, CVE-2024-43420, CVE-2025-20623
by
Alex5723
21 hours, 11 minutes ago -
False error message from eMClient
by
WSSebastian42
1 day, 12 hours ago -
Awoke to a rebooted Mac (crashed?)
by
rebop2020
1 day, 21 hours ago -
Office 2021 Perpetual for Mac
by
rebop2020
1 day, 22 hours ago -
AutoSave is for Microsoft, not for you
by
Will Fastie
19 hours, 6 minutes ago -
Difface : Reconstruction of 3D Human Facial Images from DNA Sequence
by
Alex5723
2 days, 2 hours ago -
Seven things we learned from WhatsApp vs. NSO Group spyware lawsuit
by
Alex5723
1 day, 3 hours ago -
Outdated Laptop
by
jdamkeene
2 days, 7 hours ago -
Updating Keepass2Android
by
CBFPD-Chief115
2 days, 12 hours ago -
Another big Microsoft layoff
by
Charlie
2 days, 12 hours ago -
PowerShell to detect NPU – Testers Needed
by
RetiredGeek
9 hours, 54 minutes ago -
May 2025 updates are out
by
Susan Bradley
50 minutes ago -
Windows 11 Insider Preview build 26200.5600 released to DEV
by
joep517
2 days, 18 hours ago -
Windows 11 Insider Preview build 26120.3964 (24H2) released to BETA
by
joep517
2 days, 18 hours ago -
Drivers suggested via Windows Update
by
Tex265
2 days, 18 hours ago -
Thunderbird release notes for 128 esr have disappeared
by
EricB
14 hours, 30 minutes ago -
CISA mutes own website, shifts routine cyber alerts to X, RSS, email
by
Nibbled To Death By Ducks
3 days, 1 hour ago -
Apple releases 18.5
by
Susan Bradley
2 days, 19 hours ago -
Fedora Linux 40 will go end of life for updates and support on 2025-05-13.
by
Alex5723
3 days, 2 hours ago -
How a new type of AI is helping police skirt facial recognition bans
by
Alex5723
3 days, 3 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.