Home |
Search |
Today's Posts |
|
#1
|
|||
|
|||
Another access-word mailmerge question
Hi, I would like to perform a mailmerge by clicking a button on an
access form. I have the following code: Dim objWord As Word.Application Dim objDoc As Word.Document Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Open("E:\Rechtsbijstand Certificaten\RB Certificaat Certificaat.doc") With objWord .Visible = True .WindowState = wdWindowStateMaximize End With objDoc.MailMerge.OpenDataSource _ Name:=CurrentDb.Name, _ LinkToSource:=True, _ Connection:="TABLE TblSamenvoeg", _ SQLStatement:="Select * from [TblSamenvoeg] WHERE [PolisId]="& Form_FormPolInv.PolisId.Value objDoc.MailMerge.Execute 'because I get 2 documents, the original and the merged one I use: If InStr(ActiveDocument.Name, "RB Certificaat Certificaat") = 0 Then Set DocResult = Documents(1) Else Set DocResult = ActiveDocument End If objWord.ActiveDocument.PrintOut But at the InStr-line I get an error (4248) saying that the document is not there, but they are there! So the merging goes OK, but the printing isn't done. What is going wrong? Thanks, Mike |
#2
|
|||
|
|||
Try without that construction. The result of the merge will almost (if not
completely) certainly end up as the active document. -- 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 "Mike" wrote in message oups.com... Hi, I would like to perform a mailmerge by clicking a button on an access form. I have the following code: Dim objWord As Word.Application Dim objDoc As Word.Document Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Open("E:\Rechtsbijstand Certificaten\RB Certificaat Certificaat.doc") With objWord .Visible = True .WindowState = wdWindowStateMaximize End With objDoc.MailMerge.OpenDataSource _ Name:=CurrentDb.Name, _ LinkToSource:=True, _ Connection:="TABLE TblSamenvoeg", _ SQLStatement:="Select * from [TblSamenvoeg] WHERE [PolisId]="& Form_FormPolInv.PolisId.Value objDoc.MailMerge.Execute 'because I get 2 documents, the original and the merged one I use: If InStr(ActiveDocument.Name, "RB Certificaat Certificaat") = 0 Then Set DocResult = Documents(1) Else Set DocResult = ActiveDocument End If objWord.ActiveDocument.PrintOut But at the InStr-line I get an error (4248) saying that the document is not there, but they are there! So the merging goes OK, but the printing isn't done. What is going wrong? Thanks, Mike |
#3
|
|||
|
|||
Thanks Doug, think that does it!
However I have another question, to close down I have (in addition to the above) the following: objDoc.Close wdDoNotSaveChanges Set objDoc = Nothing Set Word.Global = Nothing objWord.Quit wdDoNotSaveChanges Set objWord = Nothing but Word is now being closed so fast that it can't handle the printout-execution. How can I delay this, just using a simple loop like: for x = 1 to 100000000000000000000000000000 x=x+1 next x or something or is there a better solution? Thanks, Mike |
#4
|
|||
|
|||
Set the Background Print attribute to false
objWord.ActiveDocument.PrintOut Background: = False That will prevent the next line of code from executing until the printing is complete (spooled) -- 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 "Mike" wrote in message oups.com... Thanks Doug, think that does it! However I have another question, to close down I have (in addition to the above) the following: objDoc.Close wdDoNotSaveChanges Set objDoc = Nothing Set Word.Global = Nothing objWord.Quit wdDoNotSaveChanges Set objWord = Nothing but Word is now being closed so fast that it can't handle the printout-execution. How can I delay this, just using a simple loop like: for x = 1 to 100000000000000000000000000000 x=x+1 next x or something or is there a better solution? Thanks, Mike |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Please give us REVEAL CODES like WORD PERFECT not reveal codes in. | Microsoft Word Help | |||
Locking Two Words Together to Make a Proper Compound Noun in Word | Microsoft Word Help | |||
creating forms | Microsoft Word Help | |||
Mailmerge from VB to WORD 2002 with Access | Mailmerge | |||
WP Delay Code - Word Equiv | Microsoft Word Help |