מיזוג דואר מטבלת אקסס
-
זה מידרדר....
עכשיו ניסיתי שוב עם הקוד הבא שרק מדפיס את הקובץ. והוא הדפיס אותו עם השדות למיזוג...
זה הקוד:Set objWord = CreateObject("Word.Application") objWord.Visible = True Set objDoc = objWord.Documents.Add() objWord.PrintOut , , , , , , , , , , , , "C:\Users\1\מכתב.doc" objWord.Quit
וזו התוצאה (דוגמא מתוך הקובץ PDF):
-
@ארי טעיתי, למרות שאחר הפתיחה אין צורך לקשר את הקובץ, מכל מקום צריך להפעיל את מיזוג הדואר כדי ליצור את הפלט הסופי.
באקסס תוסיף את הפונקציה הציבורית הבאה:
Public Sub PrintDocument(templateFileName As String, sourceTable As String, sql As String) Dim wordApp As New Word.Application wordApp.Documents.Open fileName:=templateFileName, ReadOnly:=True With wordApp.ActiveDocument.MailMerge .OpenDataSource _ Name:=Application.CurrentProject.Path & "\" & Application.CurrentProject.Name, _ LinkToSource:=False, _ Connection:="TABLE " & sourceTable, _ SQLStatement:=sql .Destination = wdSendToPrinter .Execute End With wordApp.Quit False Set wordApp = Nothing End Sub
הפונקציה מצפה לשלושה פרמטרים:
- שם קובץ הוורד למיזוג
- טבלת מקור הנתונים
- שאילתת SQL
הפונקציה מריצה את מיזוג הדואר, ופולטת את המסמך הממוזג למדפסת ברירת המחדל.
קריאה לדוגמא:
PrintDocument Application.CurrentProject.Path & "\" & "מינהל_האוכלוסין.doc", "מכתב", "SELECT * FROM [מכתב]"