Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.mailmerge.fields
JERRY JERRY is offline
external usenet poster
 
Posts: 288
Default Losing MainDocumentType on Open()

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
  #2   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()

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



  #3   Report Post  
Posted to microsoft.public.word.mailmerge.fields
JERRY JERRY is offline
external usenet poster
 
Posts: 288
Default Losing MainDocumentType on Open()

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




  #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






  #5   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default Losing MainDocumentType on Open()

You probably need to make the registry change described in the following KB
article:

http://support.microsoft.com/kb/825765/en-us

If you don't, when you open the Word document in code, the data source is
diconnected and the document that is supposed to be a Mail merge Main
Document becomes a Normal Word Document.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"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




  #6   Report Post  
Posted to microsoft.public.word.mailmerge.fields
JERRY JERRY is offline
external usenet poster
 
Posts: 288
Default Losing MainDocumentType on Open()

Hi Doug, yes, I'm sure that the document type is set because when I manually
open it, it still shows as a Directory type.

Is there anyway to get the documenttype before calling the Open() method?


"Doug Robbins - Word MVP" wrote:

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






  #7   Report Post  
Posted to microsoft.public.word.mailmerge.fields
JERRY JERRY is offline
external usenet poster
 
Posts: 288
Default Losing MainDocumentType on Open()

Hi Peter, this does seem to work, but I'm not sure it is a viable solution
for me. Is there any other work a rounds for this?


Thanks,

Jerry

"Peter Jamieson" wrote:

You probably need to make the registry change described in the following KB
article:

http://support.microsoft.com/kb/825765/en-us

If you don't, when you open the Word document in code, the data source is
diconnected and the document that is supposed to be a Mail merge Main
Document becomes a Normal Word Document.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"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



  #8   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()

The work around is either to follow the instructions in the link that Peter
provided or 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
news
Hi Doug, yes, I'm sure that the document type is set because when I
manually
open it, it still shows as a Directory type.

Is there anyway to get the documenttype before calling the Open() method?


"Doug Robbins - Word MVP" wrote:

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








  #9   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default Losing MainDocumentType on Open()

Is there any other work a rounds for this?

As far as I know the only alternative based on Word's built-in Mail merge
is to have a mail merge main document that does not have a SQL command
stored in it. That possibility was explored in this group a year or two ago
but
a. it involved saving the Word document in rtf format and patching the rtf
code to remove the SQL statement
b. it could only work with a data source where Word would correctly
regenerate the required SQL statement
c. I suspect that one of the later SPs has blocked that particular loophole

Precisely why it more insecure for a document to connect to a data source
than to have a situation where you have no alternative but to implement this
registry patch is not clear to me.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"Jerry" wrote in message
...
Hi Peter, this does seem to work, but I'm not sure it is a viable solution
for me. Is there any other work a rounds for this?


Thanks,

Jerry

"Peter Jamieson" wrote:

You probably need to make the registry change described in the following
KB
article:

http://support.microsoft.com/kb/825765/en-us

If you don't, when you open the Word document in code, the data source is
diconnected and the document that is supposed to be a Mail merge Main
Document becomes a Normal Word Document.

--
Peter Jamieson
http://tips.pjmsn.me.uk

"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




Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
losing formating when open doc jen_writer Microsoft Word Help 3 August 20th 08 10:06 AM
Losing Format KenG Page Layout 1 May 9th 07 07:28 AM
Losing images in MS word [email protected] Microsoft Word Help 2 April 5th 07 02:29 PM
Losing my Clipboard annec Microsoft Word Help 1 October 6th 06 09:27 AM
Losing Formatting Jan Microsoft Word Help 2 February 5th 06 08:48 PM


All times are GMT +1. The time now is 02:15 PM.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"