View Single Post
  #4   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Doug Robbins - Word MVP Doug Robbins - Word MVP is offline
external usenet poster
 
Posts: 8,832
Default Losing MainDocumentType on Open()

Hi Jerry,

Are you really sure that the document that you are opening is saved as a
Directory type mail merge main document?

The MailMerge.MainDocumentType of -1 indicates that it is not. Using code
to attach a data source will set that .MainDocumentType to 0 (= Letter type)
if the type has not been set otherwise.

I cannot replicate the issue of a document that was saved as a Directory
being re-set to a normal word document (MailMergeType = -1) when using the
Documents.Open command.

When I use

Dim doc As Document
Set doc = Documents.Open("C:\documents\directory.doc")
MsgBox doc.MailMerge.MainDocumentType

to open a directory type mail merge main document, 3 is displayed in the
message box.

As a work around, include the following command to explicity set the
document that you are opening to a directory type mail merge main document.

oWord.ActiveDocument.MailMerge.MainDocumentType = 3

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"Jerry" wrote in message
...
Hi Doug, here it is (this is done through Visual FoxPro):

cExisitngMailMergeTemplate="C:\Path\SomeDocument.d oc"
cMailMergeDataFile="C:\Path\SomeData.csv"

oWord=CREATEOBJECT("Word.Application")
oWord.Documents.OPEN(cExistingMailMergeTemplate)
oWord.ActiveDocument.MailMerge.OpenDataSource(cMai lMergeDataFile)
oWord.Visible=.T.

As soon as you do the OPEN() command is when the MainDocumentType is set
to
-1 and then it gets set to 0 after you call OpenDataSource()


Thanks,

Jerry

"Doug Robbins - Word MVP" wrote:

Can you show us the complete code that you are using.

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"Jerry" wrote in message
...
Hey guys, I have a mail merge document that is set to Directory for the
Main
Document Type. If I close it and manually reopen it, it stays as a
"Directory" document, but if I open it through automation (i.e.
oWord.Documents.Open("C:\SomeDirectory\SomeDirecto ryDocument.doc")) the
oWord.ActiveDocument.MailMerge.MainDocumentType = -1 as soon as you do
the
Open() command and then it gets set to 0 once you call the
OpenDataSource().

How can I open the document through automation and keep the document
type
that the user originally saved it with?


Thanks for your help,

Jerry