Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Hi,
I would like to save a merged document to disk, without opening word. The merging works fine if I make word visible and let the user save the doc, but if I try to save from code without showing word, i get 'Opening this document will run the following SQL command'. The code I use is as follows : object objNull = System.Reflection.Missing.Value; string strDataSource = @"C:\HRAccent\MailMerge\dataEmpl.csv"; object strTemplatePath = @"C:\HRAccent\MailMerge\testTemplate.doc"; object objTrue = true; object objFalse = false; object objOpenFormat; objOpenFormat = Microsoft.Office.Interop.Word.WdOpenFormat.wdOpenF ormatAuto; Microsoft.Office.Interop.Word.Application wrdApp = new Microsoft.Office.Interop.Word.Application(); Microsoft.Office.Interop.Word._Document wrdDoc; Microsoft.Office.Interop.Word.MailMerge wrdMailMerge; wrdDoc = wrdApp.Documents.Open(ref strTemplatePath, ref objFalse, ref objTrue, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objFalse, ref objNull, ref objNull, ref objNull); wrdApp.Visible = false; wrdDoc.Activate(); wrdDoc.MailMerge.OpenDataSource(strDataSource, ref objNull, ref objFalse, ref objTrue, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull); wrdMailMerge = wrdDoc.MailMerge; wrdMailMerge.Destination = Microsoft.Office.Interop.Word.WdMailMergeDestinati on.wdSendToNewDocument; wrdMailMerge.Execute(ref objFalse); object wdFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdForma tRTF; Object fileName = @"C:\HRAccent\MailMerge\test.doc"; wrdDoc.SaveAs( ref fileName, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull); wrdDoc.Saved = true; wrdDoc.Close(ref objTrue,ref objNull,ref objNull); wrdApp.Quit(ref objFalse,ref objNull,ref objNull); wrdMailMerge = null; wrdDoc = null; wrdApp = null; Anyone any ideas? Thanx, t |
#2
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Usually you have to take account of
http://support.microsoft.com/?kbid=825765 Peter Jamieson "tom" wrote in message news ![]() Hi, I would like to save a merged document to disk, without opening word. The merging works fine if I make word visible and let the user save the doc, but if I try to save from code without showing word, i get 'Opening this document will run the following SQL command'. The code I use is as follows : object objNull = System.Reflection.Missing.Value; string strDataSource = @"C:\HRAccent\MailMerge\dataEmpl.csv"; object strTemplatePath = @"C:\HRAccent\MailMerge\testTemplate.doc"; object objTrue = true; object objFalse = false; object objOpenFormat; objOpenFormat = Microsoft.Office.Interop.Word.WdOpenFormat.wdOpenF ormatAuto; Microsoft.Office.Interop.Word.Application wrdApp = new Microsoft.Office.Interop.Word.Application(); Microsoft.Office.Interop.Word._Document wrdDoc; Microsoft.Office.Interop.Word.MailMerge wrdMailMerge; wrdDoc = wrdApp.Documents.Open(ref strTemplatePath, ref objFalse, ref objTrue, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objFalse, ref objNull, ref objNull, ref objNull); wrdApp.Visible = false; wrdDoc.Activate(); wrdDoc.MailMerge.OpenDataSource(strDataSource, ref objNull, ref objFalse, ref objTrue, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull); wrdMailMerge = wrdDoc.MailMerge; wrdMailMerge.Destination = Microsoft.Office.Interop.Word.WdMailMergeDestinati on.wdSendToNewDocument; wrdMailMerge.Execute(ref objFalse); object wdFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdForma tRTF; Object fileName = @"C:\HRAccent\MailMerge\test.doc"; wrdDoc.SaveAs( ref fileName, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull); wrdDoc.Saved = true; wrdDoc.Close(ref objTrue,ref objNull,ref objNull); wrdApp.Quit(ref objFalse,ref objNull,ref objNull); wrdMailMerge = null; wrdDoc = null; wrdApp = null; Anyone any ideas? Thanx, t |
#3
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Thanks Peter,
But the thing is, if I do display word and let the user save the document, it is no longer a document with mergefields, so it doesn't need a link to the datasource anymore. I want to achieve the same effect by code, do the mailmerge, save the doc without it having the need to have the datasource still. Tom |
#4
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Hi Tom,
I had a look at your code again and the problem could be to do with the Save, because you're using wrdDoc to do the save. When Word merges to a new document, that document becomes the ActiveDocument and you have to reference it that way. See if that changes anything. Peter Jamieson "tom" wrote in message ... Thanks Peter, But the thing is, if I do display word and let the user save the document, it is no longer a document with mergefields, so it doesn't need a link to the datasource anymore. I want to achieve the same effect by code, do the mailmerge, save the doc without it having the need to have the datasource still. Tom |
#5
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Thanx Peter,
It was exactly that. I have to use the new activedocument. Tom |
#6
![]() |
|||
|
|||
![]() Quote:
Thank you, I am dealing with the same problem Alex.M |
#7
![]() |
|||
|
|||
![]()
I'll give it a try ,thx for codes
|
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
merged labels - how do you save the merged document for use later | Mailmerge | |||
how todisable message box that comes when opening merged document | Mailmerge | |||
how todisable message box that comes when opening merged document | Mailmerge | |||
how todisable message box that comes when opening merged document | Mailmerge | |||
Opening a word merged document from Access code doesn't update | Mailmerge |