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

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

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

מיזוג נתונים בוורד בקוד VBA

מתוזמן נעוץ נעול הועבר תכנות
21 פוסטים 4 כותבים 363 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • S מנותק
    S מנותק
    smk123
    כתב ב נערך לאחרונה על ידי
    #1

    אני רוצה למזג נתונים במסמך לכ300 מסמכים
    אני רוצה לעשות עם זה באמצעות קוד VBA
    אני מכין מסמך וורד עם כל השדות למיזוג
    אני רוצה שהקןד יבצע:
    סינון בשדה מסוים מעֵרֶך של 1- 331 אחד בכל פעם.
    שייצא את המסמך לקובץ וורד וPDF עם שם 1-331 לפי הסינון
    לדוגמא: בפעם הראשונה שיסנן שדה קוד אישי שווה ל1 וייצא למסמך נפרד וישמור אותו בוורד וPDF בשם 1
    וכן הלאה עד 331
    אשמח לכל עזרה.

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      באיזה הקשר רץ הקוד של הVBA?
      אקסס? word?
      ומה מקור הנתונים?

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      2
      • S מנותק
        S מנותק
        smk123
        כתב ב נערך לאחרונה על ידי
        #3

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

        תגובה 1 תגובה אחרונה
        0
        • מלאמ מנותק
          מלאמ מנותק
          מלא
          כתב ב נערך לאחרונה על ידי
          #4

          @smk123
          בפורום הישן
          @clickone הביא את האקסס הזה למיזוג דואר.
          מיזוג לוורד.zip

          בקוד הנ"ל הוא מייצא לאקסל, אם זה משנה לך.

          ואולי לא שווה לך להעסיק את האקסס לעשות את כל העבודה
          תוכל להשתמש עם קוד מעין זה כדי לסגור לPDF ישיר מוורד מתוך רשימה של 300 שמות.
          (צריך לשנות שמור בשם לPDF )

          Sub אא_חוברת_מיזוג_מאקסל()
          
              Dim i As Integer
              
              If MsgBox("זכרת לעשות 'הצג תצוגה מקדימה של תוצאות'?", vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading) = vbNo Then Exit Sub
              
              With ActiveDocument.MailMerge.DataSource
                  If MsgBox("ידפיס " & .RecordCount & " רשומות. מאשר?", vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading) = vbYes Then
                      .ActiveRecord = wdFirstRecord
                      For i = 1 To .RecordCount
                          Application.PrintOut
                          .ActiveRecord = wdNextRecord
                      Next
                      MsgBox "הדפסת בהצלחה " & .RecordCount & " רשומות", vbMsgBoxRight + vbMsgBoxRtlReading
                  End If
              End With
          
          End Sub
          
          S תגובה 1 תגובה אחרונה
          2
          • S מנותק
            S מנותק
            smk123
            השיב למלא ב נערך לאחרונה על ידי
            #5

            @מלא
            זה משנה לי כי א"א ליצא לאקסל לכאורה כי יש בטבלה מעל 100 אלף רשומות.
            אשמח לשיפוץ של הקוד כדי שיתאים לי/הכוונה.
            שוב תודה

            מלאמ תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #6

              https://tchumim.com/topic/473
              ובעקבותיו, מה ש@clickone שיתף:
              https://tchumim.com/topic/475

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              2
              • מלאמ מנותק
                מלאמ מנותק
                מלא
                השיב לsmk123 ב נערך לאחרונה על ידי מלא
                #7

                @smk123 אמר במיזוג נתונים בוורד בקוד VBA:

                @מלא
                זה משנה לי כי א"א ליצא לאקסל לכאורה כי יש בטבלה מעל 100 אלף רשומות.

                לא חושב שאמור להיות בעיה לייצא שאילתה של 300 מהם.

                אשמח לשיפוץ של הקוד כדי שיתאים לי/הכוונה.
                שוב תודה

                תחליף את השורה הזאת

                Application.PrintOut
                

                בזה, (תשנה את הנתיב למה שמתאים לך)

                ActiveDocument.ExportAsFixedFormat OutputFileName:="D:\שולחן העבודה\" & .RecordCount & ".pdf", ExportFormat:=wdExportFormatPDF
                
                S תגובה 1 תגובה אחרונה
                2
                • S מנותק
                  S מנותק
                  smk123
                  השיב למלא ב נערך לאחרונה על ידי
                  #8

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

                  clickoneC תגובה 1 תגובה אחרונה
                  0
                  • clickoneC מנותק
                    clickoneC מנותק
                    clickone
                    השיב לsmk123 ב נערך לאחרונה על ידי clickone
                    #9

                    @smk123
                    הסיבה שעשיתי ייצוא לאקסל בעיקר בגלל שבשאילתא אצלי היו נתונים שנלקחו בפונקצייה פנימית באקסס ואת זה הוורד מגירסה 2007 לא קרא בגלל אבטחה (בעצם זה איפשר להריץ קד VBA מהוורד וזו הייתה עיקר הבעייה)

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

                    לגבי הייצוא כתבו כאן נכון. אה צריך להחיל את המיזוג על שאילתא שמכילה בסיון שלה רק את ה300 רשומות

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

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

                    S תגובה 1 תגובה אחרונה
                    0
                    • S מנותק
                      S מנותק
                      smk123
                      השיב לclickone ב נערך לאחרונה על ידי
                      #10

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

                      clickoneC תגובה 1 תגובה אחרונה
                      0
                      • clickoneC מנותק
                        clickoneC מנותק
                        clickone
                        השיב לsmk123 ב נערך לאחרונה על ידי
                        #11

                        @smk123 כולם אותו מסמך?
                        כמה עמודים יש במסמך?
                        גם אם ננח שיש במסמך 30 עמודים, אתה יכול ליצור קובץ של 9000 עמודים ואז לחתוך אותם בצורה תיכנותית וזה יותר זריז מאשר לסגור אחד אחד
                        מצד שני, יש את הקוד ש @מלא הביא שכתבתי בעבר + התיקון לקוד שהוא הביא בשבילך וזה נראה לי ממש מצויין

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

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

                        S תגובה 1 תגובה אחרונה
                        0
                        • S מנותק
                          S מנותק
                          smk123
                          השיב לclickone ב נערך לאחרונה על ידי
                          #12

                          @clickone אני רוצה לקחת מסמך לבנות עליו את המיזוג
                          ואז עם קוד להריץ.
                          סינון שדה מסוים שווה לערך 1
                          יצירת מסמך ממוזג שמירה לpdf בשם 1
                          ושוב סינון שדה מסוים ל2
                          יצירת מסמך ממוזג לשמירה בpdf וורד בשם 2
                          וכן הלאה עד 331
                          במקום לעשות את זה בכל פעם ידנית אני רוצה שהקוד יבצע את זה עבורי.

                          מלאמ תגובה 1 תגובה אחרונה
                          0
                          • מלאמ מנותק
                            מלאמ מנותק
                            מלא
                            השיב לsmk123 ב נערך לאחרונה על ידי מלא
                            #13

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

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

                            תגובה 1 תגובה אחרונה
                            1
                            • S מנותק
                              S מנותק
                              smk123
                              כתב ב נערך לאחרונה על ידי
                              #14

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

                              תגובה 1 תגובה אחרונה
                              0
                              • S מנותק
                                S מנותק
                                smk123
                                כתב ב נערך לאחרונה על ידי smk123
                                #15

                                @שואף
                                סליחה
                                @מלא
                                אנסה את זה יותר מאוחר ואעדכן
                                תודה רבה

                                תגובה 1 תגובה אחרונה
                                0
                                • S מנותק
                                  S מנותק
                                  smk123
                                  כתב ב נערך לאחרונה על ידי
                                  #16

                                  @מלא
                                  כרגע זה עומד שיצרתי מסמך תבנית למיזוג עם כל השדות ואני צריך לסנן עכשיו לפי עמודה מזהה לומד מ1עד 331.
                                  לשמור במסמך נפרד ולייצא לpdf עם השם לפי מזהה לומד.
                                  1 2 3 4 וכן הלאה עד331
                                  אני כרגע נמצא בשלב לפני הסינון והיצוא
                                  יש קוד או מאקרו הוורד שיכול לעזור לי בזה?
                                  לא הצלחתי לממש נכון את מה שהבאת
                                  מקור הנתונים הוא אקסל

                                  מלאמ תגובה 1 תגובה אחרונה
                                  0
                                  • מלאמ מנותק
                                    מלאמ מנותק
                                    מלא
                                    השיב לsmk123 ב נערך לאחרונה על ידי
                                    #17

                                    @smk123
                                    כמה רשומות יש בקובץ?
                                    ומה זה אומר לא הצלחת לממש, איפה הוא נעצר?

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • S מנותק
                                      S מנותק
                                      smk123
                                      כתב ב נערך לאחרונה על ידי
                                      #18

                                      @מלא
                                      109561
                                      ביצעתי מיזוג ידנית
                                      אני לא מצליח לסנן בקוד כפי שאני רוצה

                                      מלאמ תגובה 1 תגובה אחרונה
                                      0
                                      • מלאמ מנותק
                                        מלאמ מנותק
                                        מלא
                                        השיב לsmk123 ב נערך לאחרונה על ידי
                                        #19

                                        @smk123 אמר במיזוג נתונים בוורד בקוד VBA:

                                        109561

                                        לא בקובץ האקסס, בקובץ הממוזג.

                                        S תגובה 1 תגובה אחרונה
                                        0
                                        • S מנותק
                                          S מנותק
                                          smk123
                                          השיב למלא ב נערך לאחרונה על ידי
                                          #20

                                          @מלא אמר במיזוג נתונים בוורד בקוד VBA:

                                          @smk123 אמר במיזוג נתונים בוורד בקוד VBA:

                                          109561

                                          לא בקובץ האקסס, בקובץ הממוזג.

                                          331 בכל אחד

                                          מלאמ תגובה 1 תגובה אחרונה
                                          0

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

                                          • אין לך חשבון עדיין? הרשמה

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