דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. הדפסת ד''וח מאקסס על בסיס קובץ וורד

הפורום כעת לקריאה בלבד, לקריאה נוספת.

הדפסת ד''וח מאקסס על בסיס קובץ וורד

מתוזמן נעוץ נעול הועבר תוכנה
40 פוסטים 6 כותבים 3.3k צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • בערלב בערל

    @מנחם אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

    @בערל
    אולי לא הבנתי נכון?

    אבל למה לא לקשר אותו לטבלה באקסס
    ולעשות קוד שיפתח את הקובץ בוורד וישמור אותו כ-PDF
    אם זה הכיוון אפשר להתקדם הלאה

    הבנת מצוין
    אני יכול להשתמש בMail Merge בוורד שייקח את הנתונים מהשאילתא באקסס
    השאלה אם ניתן ליצור כפתור בתחתית הטופס למילוי שיעשה את כל העבודה בהתבסס על הנתונים שמולאו

    תודה רבה

    מלאמ
    מלאמ
    מלא
    כתב ב נערך לאחרונה על ידי
    #5

    @בערל
    מצורף קובץ מיזוג לוורד
    ש @clickone העלה כאן פעם

    Word.accdb

    תגובה 1 תגובה אחרונה
    2
    • מנחםמ מנחם

      @בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

      Mail Merge

      אם כך התשובה היא כן.
      יש קודים מוכנים לכך, שבנויים על מיזוג שלם של מכתבים.
      אם מדובר רק עם רשומה בודדת , אפשר לקצר את התהליכים?
      אולי מכאן תוכל להתחיל

      בערלב
      בערלב
      בערל
      ניהול
      כתב ב נערך לאחרונה על ידי
      #6

      @מנחם אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

      אם כך התשובה היא כן.
      יש קודים מוכנים לכך, שבנויים על מיזוג שלם של מכתבים.
      אם מדובר רק עם רשומה בודדת , אפשר לקצר את התהליכים?
      אולי מכאן תוכל להתחיל

      יש לי בערך 13 רשומות
      אני מנסה לעבור על הלינק שהבאת
      אני אוחז בשורות של קביעת הנתונים

      .ActiveDocument.Bookmarks("Title").Select
      .Selection.Text = (CStr(Forms![frmPrivacy]![Title]))
      

      תוכל להסביר על זה?
      אני צריך קודם לבצע את המיזוג דואר בוורד או שהקוד כבר קובע?
      מה הכוונה Bookmarks? איך הוא יודע למה אני מתכווין?

      את הנתונים אני מבין שהוא שולף מתוך טופס, אצלי מדובר בשאילתא. CStr זה שם הקובץ אקסס?

      OdedDvirO A מנחםמ 5 תגובות תגובה אחרונה
      0
      • בערלב בערל

        @מנחם אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

        אם כך התשובה היא כן.
        יש קודים מוכנים לכך, שבנויים על מיזוג שלם של מכתבים.
        אם מדובר רק עם רשומה בודדת , אפשר לקצר את התהליכים?
        אולי מכאן תוכל להתחיל

        יש לי בערך 13 רשומות
        אני מנסה לעבור על הלינק שהבאת
        אני אוחז בשורות של קביעת הנתונים

        .ActiveDocument.Bookmarks("Title").Select
        .Selection.Text = (CStr(Forms![frmPrivacy]![Title]))
        

        תוכל להסביר על זה?
        אני צריך קודם לבצע את המיזוג דואר בוורד או שהקוד כבר קובע?
        מה הכוונה Bookmarks? איך הוא יודע למה אני מתכווין?

        את הנתונים אני מבין שהוא שולף מתוך טופס, אצלי מדובר בשאילתא. CStr זה שם הקובץ אקסס?

        OdedDvirO
        OdedDvirO
        OdedDvir
        כתב ב נערך לאחרונה על ידי
        #7

        @בערל נפרק את הבעיה לשלבים:
        א. צור שאילתא שתכיל רק את הרשומות שאותן אתה מעוניין להדפיס.
        ב. צור מסמך וורד שימזג את הרשומות מהשאילתא הנ"ל לשדות המתאימים במסמך (מיזוג דואר)
        ג. צור את הפונקציונאליות המתאימה בלחצן.

        מדבריך:

        השאלה אם ניתן ליצור כפתור בתחתית הטופס למילוי שיעשה את כל העבודה בהתבסס על הנתונים שמולאו

        אני מבין שאתה אוחז בשלב ג?

        תגובה 1 תגובה אחרונה
        1
        • בערלב בערל

          @מנחם אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

          אם כך התשובה היא כן.
          יש קודים מוכנים לכך, שבנויים על מיזוג שלם של מכתבים.
          אם מדובר רק עם רשומה בודדת , אפשר לקצר את התהליכים?
          אולי מכאן תוכל להתחיל

          יש לי בערך 13 רשומות
          אני מנסה לעבור על הלינק שהבאת
          אני אוחז בשורות של קביעת הנתונים

          .ActiveDocument.Bookmarks("Title").Select
          .Selection.Text = (CStr(Forms![frmPrivacy]![Title]))
          

          תוכל להסביר על זה?
          אני צריך קודם לבצע את המיזוג דואר בוורד או שהקוד כבר קובע?
          מה הכוונה Bookmarks? איך הוא יודע למה אני מתכווין?

          את הנתונים אני מבין שהוא שולף מתוך טופס, אצלי מדובר בשאילתא. CStr זה שם הקובץ אקסס?

          A
          A
          avi rz
          כתב ב נערך לאחרונה על ידי
          #8

          @בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

          CStr זה שם הקובץ אקסס?

          CStr = זו פונקציית המרת נתונים לטקסט ודומיו:
          CInt
          CSng
          CDate
          וכו'.

          תגובה 1 תגובה אחרונה
          1
          • בערלב בערל

            @מנחם אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

            אם כך התשובה היא כן.
            יש קודים מוכנים לכך, שבנויים על מיזוג שלם של מכתבים.
            אם מדובר רק עם רשומה בודדת , אפשר לקצר את התהליכים?
            אולי מכאן תוכל להתחיל

            יש לי בערך 13 רשומות
            אני מנסה לעבור על הלינק שהבאת
            אני אוחז בשורות של קביעת הנתונים

            .ActiveDocument.Bookmarks("Title").Select
            .Selection.Text = (CStr(Forms![frmPrivacy]![Title]))
            

            תוכל להסביר על זה?
            אני צריך קודם לבצע את המיזוג דואר בוורד או שהקוד כבר קובע?
            מה הכוונה Bookmarks? איך הוא יודע למה אני מתכווין?

            את הנתונים אני מבין שהוא שולף מתוך טופס, אצלי מדובר בשאילתא. CStr זה שם הקובץ אקסס?

            מנחםמ
            מנחםמ
            מנחם
            כתב ב נערך לאחרונה על ידי
            #9

            @בערל
            יש שם 2 אפשרויות
            הראשון זה עם סימניות
            כלומר אתה יוצר סימניות במסמך
            ואח"כ עובר עליהם ומכניס להם ערכים
            את האמת שלא מכיר את זה כל כך

            ובשני יש דוגמא של מיזוג דואר
            אבל העלו לך כאן קובץ מוכן
            שאולי צריך להתאים אותו לצרכים שלך

            תגובה 1 תגובה אחרונה
            2
            • בערלב בערל

              @מנחם אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

              אם כך התשובה היא כן.
              יש קודים מוכנים לכך, שבנויים על מיזוג שלם של מכתבים.
              אם מדובר רק עם רשומה בודדת , אפשר לקצר את התהליכים?
              אולי מכאן תוכל להתחיל

              יש לי בערך 13 רשומות
              אני מנסה לעבור על הלינק שהבאת
              אני אוחז בשורות של קביעת הנתונים

              .ActiveDocument.Bookmarks("Title").Select
              .Selection.Text = (CStr(Forms![frmPrivacy]![Title]))
              

              תוכל להסביר על זה?
              אני צריך קודם לבצע את המיזוג דואר בוורד או שהקוד כבר קובע?
              מה הכוונה Bookmarks? איך הוא יודע למה אני מתכווין?

              את הנתונים אני מבין שהוא שולף מתוך טופס, אצלי מדובר בשאילתא. CStr זה שם הקובץ אקסס?

              A
              A
              avi rz
              כתב ב נערך לאחרונה על ידי
              #10
              פוסט זה נמחק!
              תגובה 1 תגובה אחרונה
              1
              • בערלב בערל

                @מנחם אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                אם כך התשובה היא כן.
                יש קודים מוכנים לכך, שבנויים על מיזוג שלם של מכתבים.
                אם מדובר רק עם רשומה בודדת , אפשר לקצר את התהליכים?
                אולי מכאן תוכל להתחיל

                יש לי בערך 13 רשומות
                אני מנסה לעבור על הלינק שהבאת
                אני אוחז בשורות של קביעת הנתונים

                .ActiveDocument.Bookmarks("Title").Select
                .Selection.Text = (CStr(Forms![frmPrivacy]![Title]))
                

                תוכל להסביר על זה?
                אני צריך קודם לבצע את המיזוג דואר בוורד או שהקוד כבר קובע?
                מה הכוונה Bookmarks? איך הוא יודע למה אני מתכווין?

                את הנתונים אני מבין שהוא שולף מתוך טופס, אצלי מדובר בשאילתא. CStr זה שם הקובץ אקסס?

                OdedDvirO
                OdedDvirO
                OdedDvir
                כתב ב נערך לאחרונה על ידי OdedDvir
                #11

                @בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                תוכל להסביר על זה?

                הרעיון בקוד הנ"ל הוא לקבוע סימניות במסמך וורד, ואחר כך לשנות את הטקסט שלהם לפי השדות המתאימים.

                אני צריך קודם לבצע את המיזוג דואר בוורד או שהקוד כבר קובע?

                לפי הקוד - לא. ההשערה שלי היא שזו דרך להתחמק מכל מיני תיבות דו שיח. בעצם זה יישום עצמאי של הפונקציונאליות של מיזוג דואר, שבו הקוד מכניס את הערכים ישירות מהטופס.

                מה הכוונה Bookmarks? איך הוא יודע למה אני מתכווין?

                הוא לא באמת יודע, פשוט מי שהכין את הוורד נתן שם לסימניה שיעזור לו לזהות איזה שדה להכניס לסימנייה. למשל לסימנייה Bookmarks("Title") הוא מכניס את הערך של השדה Title בטופס.

                תגובה 1 תגובה אחרונה
                1
                • clickoneC
                  clickoneC
                  clickone
                  כתב ב נערך לאחרונה על ידי
                  #12

                  @בערל , אני מציע שתוריד ןתנסה את הקובץ ש @מלא הביא מהארכיון ( @מלא , תודה. אני אפילו שכחתי מזה...)
                  כי אני חושב שזה ממש מכסה את כל מה שרצית.

                  אין טסט כמו פרודקשן.

                  המייל שלי urivpn@gmail.com

                  תגובה 1 תגובה אחרונה
                  2
                  • בערלב
                    בערלב
                    בערל
                    ניהול
                    כתב ב נערך לאחרונה על ידי
                    #13

                    תודה רבה לכולם על המענה והעזרה הנרחבת

                    אני מבין שהקוד הנ''ל לא רלוונטי בשבילי

                    \

                    @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                    אני מבין שאתה אוחז בשלב ג?

                    אכן!


                    \

                    @מלא אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                    @בערל
                    מצורף קובץ מיזוג לוורד
                    ש @clickone העלה כאן פעם

                    Word.accdb

                    @clickone אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                    @בערל , אני מציע שתוריד ןתנסה את הקובץ ש @מלא הביא מהארכיון ( @מלא , תודה. אני אפילו שכחתי מזה...)
                    כי אני חושב שזה ממש מכסה את כל מה שרצית.

                    הורדתי וניסיתי להבין מה הולך שם ולא בדיוק הבנתי איך זה עובד.
                    איפה אני ממלא פרטים חדשים? ישירות בטבלה?
                    אם יש לי עשרות שורות הוא ימזג את הכל? אני צריך רק את האחרון.

                    OdedDvirO תגובה 1 תגובה אחרונה
                    0
                    • בערלב בערל

                      תודה רבה לכולם על המענה והעזרה הנרחבת

                      אני מבין שהקוד הנ''ל לא רלוונטי בשבילי

                      \

                      @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                      אני מבין שאתה אוחז בשלב ג?

                      אכן!


                      \

                      @מלא אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                      @בערל
                      מצורף קובץ מיזוג לוורד
                      ש @clickone העלה כאן פעם

                      Word.accdb

                      @clickone אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                      @בערל , אני מציע שתוריד ןתנסה את הקובץ ש @מלא הביא מהארכיון ( @מלא , תודה. אני אפילו שכחתי מזה...)
                      כי אני חושב שזה ממש מכסה את כל מה שרצית.

                      הורדתי וניסיתי להבין מה הולך שם ולא בדיוק הבנתי איך זה עובד.
                      איפה אני ממלא פרטים חדשים? ישירות בטבלה?
                      אם יש לי עשרות שורות הוא ימזג את הכל? אני צריך רק את האחרון.

                      OdedDvirO
                      OdedDvirO
                      OdedDvir
                      כתב ב נערך לאחרונה על ידי
                      #14

                      @בערל לא בדקתי את הקוד של @clickone ואני לא יכול לייעץ לך לגביו. אם נשאר לך רק שלב ג, כלומר אתה אוחז במצב שאם אתה פותח את הוורד אתה רואה את הנתונים הנכונים מהטבלה, אז נשאר לכתוב רק את הקוד של הלחצן. זה לא כל כך קשה לדעתי. אם החלטת שזה הכיוון אעזור לך בשמחה.

                      בערלב clickoneC 2 תגובות תגובה אחרונה
                      2
                      • OdedDvirO OdedDvir

                        @בערל לא בדקתי את הקוד של @clickone ואני לא יכול לייעץ לך לגביו. אם נשאר לך רק שלב ג, כלומר אתה אוחז במצב שאם אתה פותח את הוורד אתה רואה את הנתונים הנכונים מהטבלה, אז נשאר לכתוב רק את הקוד של הלחצן. זה לא כל כך קשה לדעתי. אם החלטת שזה הכיוון אעזור לך בשמחה.

                        בערלב
                        בערלב
                        בערל
                        ניהול
                        כתב ב נערך לאחרונה על ידי
                        #15

                        @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                        @בערל לא בדקתי את הקוד של @clickone ואני לא יכול לייעץ לך לגביו. אם נשאר לך רק שלב ג, כלומר אתה אוחז במצב שאם אתה פותח את הוורד אתה רואה את הנתונים הנכונים מהטבלה, אז נשאר לכתוב רק את הקוד של הלחצן. זה לא כל כך קשה לדעתי. אם החלטת שזה הכיוון אעזור לך בשמחה.

                        הכל מוכן (חוץ מבעיה קטנה שוורד מציג נתוני זמן ותאריך ללא הפורמט שהגדרתי להם באקסס כמו כאן ), אשמח מאוד.

                        תודה רבה!

                        clickoneC תגובה 1 תגובה אחרונה
                        0
                        • OdedDvirO OdedDvir

                          @בערל לא בדקתי את הקוד של @clickone ואני לא יכול לייעץ לך לגביו. אם נשאר לך רק שלב ג, כלומר אתה אוחז במצב שאם אתה פותח את הוורד אתה רואה את הנתונים הנכונים מהטבלה, אז נשאר לכתוב רק את הקוד של הלחצן. זה לא כל כך קשה לדעתי. אם החלטת שזה הכיוון אעזור לך בשמחה.

                          clickoneC
                          clickoneC
                          clickone
                          כתב ב נערך לאחרונה על ידי
                          #16

                          @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                          אז נשאר לכתוב רק את הקוד של הלחצן

                          זה מה שעושה הקוד שלי

                          @בערל
                          בגדול הקובץ שהעלתי אז היה קובץ זיפ עם קובץ וורד בפנים בשביל הדומא
                          אני לא מוצא אותו כעת, אולי ל @מלא יש אותו והוא יכול להעלות....
                          בכל מקרה, מה שאתה צריך, זה לשים את הטבלה והטופס שלך, לא משנה איך קוראים לטבלה ולטופס,
                          ולשים מאחורי הכפתור את הקוד הבא: (הוא מופיע במסך דוגמא, אבל זה באמת רק דוגמא)

                          MixDocToWord "", "tbl", Me!tFile, Me!bPrint, ppdf, False
                          

                          הסבר למשתנים שהפונקציה מקבלת (בדוגמא כאן זה בעצם פקדים בבטופס, אתה יכול במקום זה שזה יהיה ממשתנה, או איך שבא לך)
                          המשתנה הראשון, שבדוגמא כאן הוא ריק ("") זה המשפט סינון שלך לנתונים. נניח מזהה=123

                          tbl= שם הטבלה או השאילתא שלך (כדי לפשט את הדוגמא קראתי לו ככה, אתה יכול להחליף אותו למה שבא לך)

                          tFile = שם הקובץ - בדוגמא אני שם את שם הקובץ באופן אוטומטי מהתיקייה, אתה יכול לתת גם נתיב מוחלט לבחירתך (או מהגדרות בטבלה)

                          bPrint = האם לשלוח למדפסת, בוליאני (כן ולא)

                          ppdf = האם לסגור לקובץ PDF, בוליאני (כן ולא)

                          הפרמטר האחרון שעשיתי בדוגמא אותו קבוע ב False זה האם לייצר קובץ חדש,
                          ואחריו יש עוד משתנה שלא חייבים לשים, וזה האם למיין ואיך.

                          מקווה שזה יעזור

                          אם לא, @OdedDvir התותח כאן כדי להסביר איך לעשות את זה הכי טוב שיש

                          אין טסט כמו פרודקשן.

                          המייל שלי urivpn@gmail.com

                          מלאמ בערלב 2 תגובות תגובה אחרונה
                          5
                          • בערלב בערל

                            @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                            @בערל לא בדקתי את הקוד של @clickone ואני לא יכול לייעץ לך לגביו. אם נשאר לך רק שלב ג, כלומר אתה אוחז במצב שאם אתה פותח את הוורד אתה רואה את הנתונים הנכונים מהטבלה, אז נשאר לכתוב רק את הקוד של הלחצן. זה לא כל כך קשה לדעתי. אם החלטת שזה הכיוון אעזור לך בשמחה.

                            הכל מוכן (חוץ מבעיה קטנה שוורד מציג נתוני זמן ותאריך ללא הפורמט שהגדרתי להם באקסס כמו כאן ), אשמח מאוד.

                            תודה רבה!

                            clickoneC
                            clickoneC
                            clickone
                            כתב ב נערך לאחרונה על ידי
                            #17

                            @בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                            נתוני זמן ותאריך ללא הפורמט שהגדרתי להם באקסס

                            בעיה ידועה וכואבת
                            יש 2 אפשרויות, או שתפצל את הנתונים בשאילתא, ואז תציג אחד אחרי השני (או בדרך אחרת תמיר את זה לסטרינג ולא מסוג תאריך
                            אפשרות שניה שבה אני משתמש בד"כ, זה לעשות עיצוב על התאריך ולהגדיר ידנית את הפורמט הנכון. צריך לעשות את זה רק פעם אחת, ואח"כ אתה שומר את זה והוא זוכר את ההגדרה.
                            (אני רואה עכשיו שבלינק שהבאת @OdedDvir התייחס לפיתרון הראשון אז, ו @מנחם לפיתרון השני....)

                            אין טסט כמו פרודקשן.

                            המייל שלי urivpn@gmail.com

                            תגובה 1 תגובה אחרונה
                            4
                            • clickoneC clickone

                              @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                              אז נשאר לכתוב רק את הקוד של הלחצן

                              זה מה שעושה הקוד שלי

                              @בערל
                              בגדול הקובץ שהעלתי אז היה קובץ זיפ עם קובץ וורד בפנים בשביל הדומא
                              אני לא מוצא אותו כעת, אולי ל @מלא יש אותו והוא יכול להעלות....
                              בכל מקרה, מה שאתה צריך, זה לשים את הטבלה והטופס שלך, לא משנה איך קוראים לטבלה ולטופס,
                              ולשים מאחורי הכפתור את הקוד הבא: (הוא מופיע במסך דוגמא, אבל זה באמת רק דוגמא)

                              MixDocToWord "", "tbl", Me!tFile, Me!bPrint, ppdf, False
                              

                              הסבר למשתנים שהפונקציה מקבלת (בדוגמא כאן זה בעצם פקדים בבטופס, אתה יכול במקום זה שזה יהיה ממשתנה, או איך שבא לך)
                              המשתנה הראשון, שבדוגמא כאן הוא ריק ("") זה המשפט סינון שלך לנתונים. נניח מזהה=123

                              tbl= שם הטבלה או השאילתא שלך (כדי לפשט את הדוגמא קראתי לו ככה, אתה יכול להחליף אותו למה שבא לך)

                              tFile = שם הקובץ - בדוגמא אני שם את שם הקובץ באופן אוטומטי מהתיקייה, אתה יכול לתת גם נתיב מוחלט לבחירתך (או מהגדרות בטבלה)

                              bPrint = האם לשלוח למדפסת, בוליאני (כן ולא)

                              ppdf = האם לסגור לקובץ PDF, בוליאני (כן ולא)

                              הפרמטר האחרון שעשיתי בדוגמא אותו קבוע ב False זה האם לייצר קובץ חדש,
                              ואחריו יש עוד משתנה שלא חייבים לשים, וזה האם למיין ואיך.

                              מקווה שזה יעזור

                              אם לא, @OdedDvir התותח כאן כדי להסביר איך לעשות את זה הכי טוב שיש

                              מלאמ
                              מלאמ
                              מלא
                              כתב ב נערך לאחרונה על ידי מלא
                              #18

                              @בערל
                              זה כל הקבצים ש @clickone בעבר
                              מיזוג לוורד.zip

                              תגובה 1 תגובה אחרונה
                              3
                              • OdedDvirO
                                OdedDvirO
                                OdedDvir
                                כתב ב נערך לאחרונה על ידי OdedDvir
                                #19

                                @בערל הנה הקוד הבסיסי (הסתמכתי על המקור הזה)

                                Public Sub MergeWordDocument(inputFileName As String, outputFileName As String)
                                    
                                    'Open the templete document
                                    Dim wdDoc As Object
                                    Set wdDoc = GetObject(inputFileName, "Word.Document")
                                    wdDoc.Application.Visible = False
                                
                                    With wdDoc.MailMerge
                                         .MainDocumentType = 0 ' wdFormLetters
                                         .Destination = 0 ' wdSendToNewDocument
                                         .SuppressBlankLines = True
                                         .Execute Pause:=False
                                    End With
                                
                                    ' Save the output document
                                    wdDoc.Application.Visible = True
                                    wdDoc.Application.ActiveDocument.SaveAs outputFileName
                                    ' Cleanup
                                    wdDoc.Close SaveChanges:=False
                                    Set wdDoc = Nothing
                                End Sub
                                

                                צור לחצן בטופס, ובאירוע לחיצה שלו תכתוב את הקוד הבא (תחליף כמובן את שמות הקבצים):

                                MergeWordDocument "D:\temp\myTemplete.docx", "d:\temp\output.docx"
                                
                                בערלב תגובה 1 תגובה אחרונה
                                4
                                • clickoneC clickone

                                  @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                  אז נשאר לכתוב רק את הקוד של הלחצן

                                  זה מה שעושה הקוד שלי

                                  @בערל
                                  בגדול הקובץ שהעלתי אז היה קובץ זיפ עם קובץ וורד בפנים בשביל הדומא
                                  אני לא מוצא אותו כעת, אולי ל @מלא יש אותו והוא יכול להעלות....
                                  בכל מקרה, מה שאתה צריך, זה לשים את הטבלה והטופס שלך, לא משנה איך קוראים לטבלה ולטופס,
                                  ולשים מאחורי הכפתור את הקוד הבא: (הוא מופיע במסך דוגמא, אבל זה באמת רק דוגמא)

                                  MixDocToWord "", "tbl", Me!tFile, Me!bPrint, ppdf, False
                                  

                                  הסבר למשתנים שהפונקציה מקבלת (בדוגמא כאן זה בעצם פקדים בבטופס, אתה יכול במקום זה שזה יהיה ממשתנה, או איך שבא לך)
                                  המשתנה הראשון, שבדוגמא כאן הוא ריק ("") זה המשפט סינון שלך לנתונים. נניח מזהה=123

                                  tbl= שם הטבלה או השאילתא שלך (כדי לפשט את הדוגמא קראתי לו ככה, אתה יכול להחליף אותו למה שבא לך)

                                  tFile = שם הקובץ - בדוגמא אני שם את שם הקובץ באופן אוטומטי מהתיקייה, אתה יכול לתת גם נתיב מוחלט לבחירתך (או מהגדרות בטבלה)

                                  bPrint = האם לשלוח למדפסת, בוליאני (כן ולא)

                                  ppdf = האם לסגור לקובץ PDF, בוליאני (כן ולא)

                                  הפרמטר האחרון שעשיתי בדוגמא אותו קבוע ב False זה האם לייצר קובץ חדש,
                                  ואחריו יש עוד משתנה שלא חייבים לשים, וזה האם למיין ואיך.

                                  מקווה שזה יעזור

                                  אם לא, @OdedDvir התותח כאן כדי להסביר איך לעשות את זה הכי טוב שיש

                                  בערלב
                                  בערלב
                                  בערל
                                  ניהול
                                  כתב ב נערך לאחרונה על ידי
                                  #20

                                  @clickone

                                  תודה רבה על הפירוט
                                  הורדתי ובדקתי את הזיפ, הלחצן של ההדפסה לא מגיב לי ולא הצלחתי לבדוק איך זה עובד.

                                  @clickone אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                  בעיה ידועה וכואבת
                                  יש 2 אפשרויות, או שתפצל את הנתונים בשאילתא, ואז תציג אחד אחרי השני (או בדרך אחרת תמיר את זה לסטרינג ולא מסוג תאריך
                                  אפשרות שניה שבה אני משתמש בד"כ, זה לעשות עיצוב על התאריך ולהגדיר ידנית את הפורמט הנכון. צריך לעשות את זה רק פעם אחת, ואח"כ אתה שומר את זה והוא זוכר את ההגדרה.

                                  הסתדרתי ע"י הוספת עמודה בשאילתא והמרה לטקסט ע"י הפונקציה Format
                                  d0444435-a0ab-4650-8fba-a3bfaa736cea-image.png

                                  תגובה 1 תגובה אחרונה
                                  2
                                  • OdedDvirO OdedDvir

                                    @בערל הנה הקוד הבסיסי (הסתמכתי על המקור הזה)

                                    Public Sub MergeWordDocument(inputFileName As String, outputFileName As String)
                                        
                                        'Open the templete document
                                        Dim wdDoc As Object
                                        Set wdDoc = GetObject(inputFileName, "Word.Document")
                                        wdDoc.Application.Visible = False
                                    
                                        With wdDoc.MailMerge
                                             .MainDocumentType = 0 ' wdFormLetters
                                             .Destination = 0 ' wdSendToNewDocument
                                             .SuppressBlankLines = True
                                             .Execute Pause:=False
                                        End With
                                    
                                        ' Save the output document
                                        wdDoc.Application.Visible = True
                                        wdDoc.Application.ActiveDocument.SaveAs outputFileName
                                        ' Cleanup
                                        wdDoc.Close SaveChanges:=False
                                        Set wdDoc = Nothing
                                    End Sub
                                    

                                    צור לחצן בטופס, ובאירוע לחיצה שלו תכתוב את הקוד הבא (תחליף כמובן את שמות הקבצים):

                                    MergeWordDocument "D:\temp\myTemplete.docx", "d:\temp\output.docx"
                                    
                                    בערלב
                                    בערלב
                                    בערל
                                    ניהול
                                    כתב ב נערך לאחרונה על ידי בערל
                                    #21

                                    @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                    @בערל הנה הקוד הבסיסי (הסתמכתי על המקור הזה)

                                    תודה רבה!
                                    זה עובד מעולה!

                                    האם יש אפשרות שישמור כPDF?
                                    ובנוסף, זה שומר קובץ עם כל השורות של הנתונים ולא רק הנתון הנוכחי שמופיע בטופס, יש משהו לעשות בנידון?

                                    OdedDvirO תגובה 1 תגובה אחרונה
                                    0
                                    • בערלב בערל

                                      @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                      @בערל הנה הקוד הבסיסי (הסתמכתי על המקור הזה)

                                      תודה רבה!
                                      זה עובד מעולה!

                                      האם יש אפשרות שישמור כPDF?
                                      ובנוסף, זה שומר קובץ עם כל השורות של הנתונים ולא רק הנתון הנוכחי שמופיע בטופס, יש משהו לעשות בנידון?

                                      OdedDvirO
                                      OdedDvirO
                                      OdedDvir
                                      כתב ב נערך לאחרונה על ידי OdedDvir
                                      #22

                                      @בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                      האם יש אפשרות שישמור כPDF?

                                      בבקשה:

                                      Public Sub RunMailMerge(inputFileName As String, outputFileName As String, Optional saveAsPDF As Boolean = False)
                                          
                                          ' Open Template file
                                          Dim wdDoc As Object
                                          Set wdDoc = GetObject(inputFileName, "Word.Document")
                                              
                                          With wdDoc
                                              .Application.Visible = False
                                              With .MailMerge
                                                  .MainDocumentType = 0                ' wdFormLetters
                                                  .Destination = 0                     ' wdSendToNewDocument
                                                  .SuppressBlankLines = True
                                                  .Execute Pause:=False
                                              End With
                                      
                                              ' Save output file
                                              .Application.Visible = True
                                              If saveAsPDF Then
                                                  .Application.ActiveDocument.ExportAsFixedFormat _
                                                                                  outputFileName:=outputFileName, _
                                                                                  ExportFormat:=17, _
                                                                                  OpenAfterExport:=True, _
                                                                                  OptimizeFor:=wdExportOptimizeForPrint, _
                                                                                  Range:=0, _
                                                                                  IncludeDocProps:=True, _
                                                                                  CreateBookmarks:=2, _
                                                                                  BitmapMissingFonts:=True
                                              Else
                                                  .Application.ActiveDocument.SaveAs outputFileName
                                              End If
                                              ' Cleanup
                                              .Close SaveChanges:=False
                                          End With
                                          Set wdDoc = Nothing
                                      End Sub
                                      
                                      

                                      כדי לייצא ל-PDF תוסיף בקריאה לפונקציה פרמטר שלישי ותתן לו ערך True:

                                      MergeWordDocument "D:\temp\myTemplete.docx", "d:\temp\output.PDF", True
                                      

                                      ובנוסף, זה שומר קובץ עם כל השורות של הנתונים ולא רק הנתון הנוכחי שמופיע בטופס, יש משהו לעשות בנידון?

                                      בוודאי, (כמעט) תמיד יש מה לעשות...
                                      לכן שאלתי מראש אם השאילתא שלך כבר מוכנה. אם היא אמורה להכיל רק רשומה אחת, אתה צריך לשנות אותה כך שתכיל רק את הרשומה הנוכחית, או לשנות את מקור הנתונים בוורד.

                                      בערלב תגובה 1 תגובה אחרונה
                                      3
                                      • OdedDvirO OdedDvir

                                        @בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                        האם יש אפשרות שישמור כPDF?

                                        בבקשה:

                                        Public Sub RunMailMerge(inputFileName As String, outputFileName As String, Optional saveAsPDF As Boolean = False)
                                            
                                            ' Open Template file
                                            Dim wdDoc As Object
                                            Set wdDoc = GetObject(inputFileName, "Word.Document")
                                                
                                            With wdDoc
                                                .Application.Visible = False
                                                With .MailMerge
                                                    .MainDocumentType = 0                ' wdFormLetters
                                                    .Destination = 0                     ' wdSendToNewDocument
                                                    .SuppressBlankLines = True
                                                    .Execute Pause:=False
                                                End With
                                        
                                                ' Save output file
                                                .Application.Visible = True
                                                If saveAsPDF Then
                                                    .Application.ActiveDocument.ExportAsFixedFormat _
                                                                                    outputFileName:=outputFileName, _
                                                                                    ExportFormat:=17, _
                                                                                    OpenAfterExport:=True, _
                                                                                    OptimizeFor:=wdExportOptimizeForPrint, _
                                                                                    Range:=0, _
                                                                                    IncludeDocProps:=True, _
                                                                                    CreateBookmarks:=2, _
                                                                                    BitmapMissingFonts:=True
                                                Else
                                                    .Application.ActiveDocument.SaveAs outputFileName
                                                End If
                                                ' Cleanup
                                                .Close SaveChanges:=False
                                            End With
                                            Set wdDoc = Nothing
                                        End Sub
                                        
                                        

                                        כדי לייצא ל-PDF תוסיף בקריאה לפונקציה פרמטר שלישי ותתן לו ערך True:

                                        MergeWordDocument "D:\temp\myTemplete.docx", "d:\temp\output.PDF", True
                                        

                                        ובנוסף, זה שומר קובץ עם כל השורות של הנתונים ולא רק הנתון הנוכחי שמופיע בטופס, יש משהו לעשות בנידון?

                                        בוודאי, (כמעט) תמיד יש מה לעשות...
                                        לכן שאלתי מראש אם השאילתא שלך כבר מוכנה. אם היא אמורה להכיל רק רשומה אחת, אתה צריך לשנות אותה כך שתכיל רק את הרשומה הנוכחית, או לשנות את מקור הנתונים בוורד.

                                        בערלב
                                        בערלב
                                        בערל
                                        ניהול
                                        כתב ב נערך לאחרונה על ידי
                                        #23

                                        @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                        @בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                        האם יש אפשרות שישמור כPDF?

                                        בבקשה:

                                        כדי לייצא ל-PDF תוסיף בקריאה לפונקציה פרמטר שלישי ותתן לו ערך True:

                                        MergeWordDocument "D:\temp\myTemplete.docx", "d:\temp\output.PDF", True
                                        

                                        מדהים!

                                        בוודאי, (כמעט) תמיד יש מה לעשות...
                                        לכן שאלתי מראש אם השאילתא שלך כבר מוכנה. אם היא אמורה להכיל רק רשומה אחת, אתה צריך לשנות אותה כך שתכיל רק את הרשומה הנוכחית, או לשנות את מקור הנתונים בוורד.

                                        צודק, טעות שלי.

                                        עד עכשיו היה לי טבלת בסיס אחת ושאילתא אחת שמוסיפה פרטים ע''י ביצוע חישובים.
                                        היה לזה גם חסרון שלא היה לי את הנתונים בטבלה - רק בשאילתא

                                        כעת אני משנה לשאילתת עדכון שתכניס את החישובים לטבלה המקורית
                                        ואז אעשה שאילתא חדשה שתביא לי רק את השורה האחרונה מהטבלה, (איך? ע''י בחירת ה-ID הגבוה ביותר? או יש דרך יותר מומלצת?).

                                        OdedDvirO תגובה 1 תגובה אחרונה
                                        0
                                        • בערלב בערל

                                          @odeddvir אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                          @בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                          האם יש אפשרות שישמור כPDF?

                                          בבקשה:

                                          כדי לייצא ל-PDF תוסיף בקריאה לפונקציה פרמטר שלישי ותתן לו ערך True:

                                          MergeWordDocument "D:\temp\myTemplete.docx", "d:\temp\output.PDF", True
                                          

                                          מדהים!

                                          בוודאי, (כמעט) תמיד יש מה לעשות...
                                          לכן שאלתי מראש אם השאילתא שלך כבר מוכנה. אם היא אמורה להכיל רק רשומה אחת, אתה צריך לשנות אותה כך שתכיל רק את הרשומה הנוכחית, או לשנות את מקור הנתונים בוורד.

                                          צודק, טעות שלי.

                                          עד עכשיו היה לי טבלת בסיס אחת ושאילתא אחת שמוסיפה פרטים ע''י ביצוע חישובים.
                                          היה לזה גם חסרון שלא היה לי את הנתונים בטבלה - רק בשאילתא

                                          כעת אני משנה לשאילתת עדכון שתכניס את החישובים לטבלה המקורית
                                          ואז אעשה שאילתא חדשה שתביא לי רק את השורה האחרונה מהטבלה, (איך? ע''י בחירת ה-ID הגבוה ביותר? או יש דרך יותר מומלצת?).

                                          OdedDvirO
                                          OdedDvirO
                                          OdedDvir
                                          כתב ב נערך לאחרונה על ידי
                                          #24

                                          @בערל אמר בהדפסת ד''וח מאקסס על בסיס קובץ וורד:

                                          ואז אעשה שאילתא חדשה שתביא לי רק את השורה האחרונה מהטבלה, (איך? ע''י בחירת ה-ID הגבוה ביותר?

                                          זה כנראה הכי פשוט. שאילתת קיבוץ עם הפונקציה Max על השדה ID.

                                          A בערלב 2 תגובות תגובה אחרונה
                                          1

                                          שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                                          נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                                          בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                          הרשמה התחברות
                                          תגובה
                                          • תגובה כנושא
                                          התחברו כדי לפרסם תגובה
                                          • מהישן לחדש
                                          • מהחדש לישן
                                          • הכי הרבה הצבעות


                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום