using VB from Access worked with Word/Access2000, not 2002

S

strider235

I've written some VB code behind an Access form button that performs a
mailmerge. It works great for Word/Access 2000. Here is a fragment:

Set oApp = CreateObject("Word.Application")
With oApp
' US Doc
.Visible = True
.Documents.Open FileName:=Path & "Merge.doc"
.ActiveDocument.MailMerge.Destination = wdSendToNewDocument

For 2002 I get a msg "Requested object is not available" on the last line.

I made changes to the code:
Set oApp = CreateObject("Word.Application")
oApp.Visible = True
oApp.Documents.Open FileName:=Path & "Merge.doc"
Set oDoc = oApp.ActiveDocument
oDoc.Mailmerge.Destination = wdSendToNewDocument

and still get the error "Requested object is not available" on the last
line. I have used the VB debugger with watch points and 'oDoc' is the
document I expect it to be with mailmerge properties.
Ideas?
Thanks,
Don
 
D

Doug Robbins

I would suggest that you dim mergedoc as Document, then use
Set mergedoc = Documents.Open(Filename:= Path & "Merge.doc")
mergedoc.MailMerge.Destination = wdSendToNewDocument

to make sure that the document you are trying to use is actually the
mailmerge main document. Chances are that your problem is caused because
the ActiveDocument is not what you think it is

--
Please respond to the Newsgroup for the benefit of others who may be
interested. Questions sent directly to me will only be answered on a paid
consulting basis.

Hope this helps,
Doug Robbins - Word MVP
 
S

strider235

Hi Doug,
Thanks for the response. I'd tried that previously (and again upon your
suggestion) and got the error: "User-defined data type not defined" on the
Dim statement.
I have also tried some code with set oDoc = CreateObject("Word.Document")
and tried working with oDoc to no avail.
Regards,
Don
 
S

strider235

Hi Doug,
I've tried a half dozen times or more over the last 3 days to access this
URL - cannot find server. Can you summarize?
Thanks,
Don
 
D

Doug Robbins

Hi Don,

I am not sure what the problem is with the website, but if you send me your
email address, I can send you a copy of the zip file that you would have
downloaded from the site.

You will have to de-spam the address.
--
Please respond to the Newsgroup for the benefit of others who may be
interested. Questions sent directly to me will only be answered on a paid
consulting basis.

Hope this helps,
Doug Robbins - Word MVP
 
D

Doug Robbins

Thanks Angela.

Don't know if you have ever met Albert, but even Steve Ballmer mistook him
for Bill Gates, doing a double take when he saw Albert sitting in the
audience of a presentation he was making.

--
Please respond to the Newsgroup for the benefit of others who may be
interested. Questions sent directly to me will only be answered on a paid
consulting basis.

Hope this helps,
Doug Robbins - Word MVP
 
S

strider235

Hi,
Thanks for the update. I made some modifications to the code as suggested by
this code and other sites. I'm making progress on getting the code to run
under Office 2003 but still have a couple of problems. FYI, I can run the
mailmerge manually, so the main document is working OK.
1. On the OpenDataSource, the document prompts for a table to use as a
source. I have tried
SQLStatement = "QUERY Select * from [Docs];"
and
Connection:="TABLE Docs", _
SubType:=wdMergeSubTypeWord2000
as suggested by micro$oft with no luck. I still get prompted for a table
2. The doctype is catalog (now directory). I tried:
.MainDocumentType = wdCatalog
However, a Letter type document is still produced, with one line per page
rather than a bunch of lines per page.
Ideas? Thanks?
 
S

strider235

One discouraging thing that I've noticed is that the main merge doc is
configured properly when I open it manually: type=Directory, query is
correct. However, if I set a breakpoint in the Access code and step through
the Open of that file, it no longer has the correct attributes; it's now
type=Letters, for example. And my code that sets MainDocumentType=wdDirectory
has no effect.
Gee, this stuff runs so very well in 2000. Why did we need a new version
again???




strider235 said:
Hi,
Thanks for the update. I made some modifications to the code as suggested by
this code and other sites. I'm making progress on getting the code to run
under Office 2003 but still have a couple of problems. FYI, I can run the
mailmerge manually, so the main document is working OK.
1. On the OpenDataSource, the document prompts for a table to use as a
source. I have tried
SQLStatement = "QUERY Select * from [Docs];"
and
Connection:="TABLE Docs", _
SubType:=wdMergeSubTypeWord2000
as suggested by micro$oft with no luck. I still get prompted for a table
2. The doctype is catalog (now directory). I tried:
.MainDocumentType = wdCatalog
However, a Letter type document is still produced, with one line per page
rather than a bunch of lines per page.
Ideas? Thanks?


J_Gold said:
Hi Don - the site appears to have moved to:

http://www.members.shaw.ca/AlbertKallal/msaccess/msaccess.html

Scroll down to find Super Easy Mail merge.

Cheers,

Angela
 

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