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

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

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

מיזוג כמה קבצי וורד לקובץ אחד בקוד vba

מתוזמן נעוץ נעול הועבר תוכנה
5 פוסטים 2 כותבים 320 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • אורייא
    אורייא
    אוריי
    כתב ב נערך לאחרונה על ידי אוריי
    #1

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

    Sub MergeALL()
        Dim objWord As Object
        Dim objDoc As Object
        Dim myPath As String, myFile As String
    
        Set objWord = CreateObject("Word.Application")
        objWord.Visible = True
    
        Set objDoc = objWord.Documents.Add
        myPath = "C:\Users\User\Desktop\experience\"
        myFile = Dir(myPath & "*.docx", vbNormal + vbReadOnly + vbHidden)
        While myFile <> ""
            With objDoc.Bookmarks("\StartOfDoc").range
                .InsertFile FileName:=myPath & myFile, _
                    ConfirmConversions:=False, Link:=False, Attachment:=False
                .InsertBreak Type:=2
            End With
            myFile = Dir()
        Wend
        objDoc.Characters(1).Delete
    End Sub
    
    

    אמנם הקוד הזה עושה את העבודה אבל שני חלקים חסרים לי שלא הצלחתי לשנות.

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

    ניתן לפנות אלי גם ב al0548446188@gmail.com

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

      בניסיון להעביר את הסמן לסוף המסמך מצאתי את הקוד הזה

      Selection.EndKey Unit:=wdStory
      

      מהמדריך הבא

      אמנם לאחר שהכנסתי את זה לקוד באופן הבא

          Set objDoc = objWord.Documents.Add
          myPath = "C:\Users\User\Desktop\experience\"
          myFile = Dir(myPath & "*.docx", vbNormal + vbReadOnly + vbHidden)
          While myFile <> ""
              With objDoc.Bookmarks("\StartOfDoc").range
                  .InsertFile FileName:=myPath & myFile, _
                      ConfirmConversions:=False, Link:=False, Attachment:=False
          Selection.EndKey Unit:=wdStory
              .InsertBreak Type:=2
              End With
              myFile = Dir()
          Wend
          objDoc.Characters(1).Delete
      End Sub
       
      

      הסמן אינו עובר לסוף המסמך כלל.... 😞

      מבדיקה בstackoverflow נראה שזה באג של וורד שאין לו תקנה (מקווה שלא)...

      ניתן לפנות אלי גם ב al0548446188@gmail.com

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

        בניסיון להעביר את הסמן לסוף המסמך מצאתי את הקוד הזה

        Selection.EndKey Unit:=wdStory
        

        מהמדריך הבא

        אמנם לאחר שהכנסתי את זה לקוד באופן הבא

            Set objDoc = objWord.Documents.Add
            myPath = "C:\Users\User\Desktop\experience\"
            myFile = Dir(myPath & "*.docx", vbNormal + vbReadOnly + vbHidden)
            While myFile <> ""
                With objDoc.Bookmarks("\StartOfDoc").range
                    .InsertFile FileName:=myPath & myFile, _
                        ConfirmConversions:=False, Link:=False, Attachment:=False
            Selection.EndKey Unit:=wdStory
                .InsertBreak Type:=2
                End With
                myFile = Dir()
            Wend
            objDoc.Characters(1).Delete
        End Sub
         
        

        הסמן אינו עובר לסוף המסמך כלל.... 😞

        מבדיקה בstackoverflow נראה שזה באג של וורד שאין לו תקנה (מקווה שלא)...

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

        @אוריי תנסה אולי ככה:

        objDoc.Bookmarks("\EndOfDoc").range
        

        במקום

        objDoc.Bookmarks("\StartOfDoc").range
        

        בשורה 5

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

          @אוריי תנסה אולי ככה:

          objDoc.Bookmarks("\EndOfDoc").range
          

          במקום

          objDoc.Bookmarks("\StartOfDoc").range
          

          בשורה 5

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

          @מאקרו תודה רבה כעת הוא מכניס לי את הקבצים לפי הסדר
          רק מה שנותר לי זה שמירה של הקובץ בשם

          ניתן לפנות אלי גם ב al0548446188@gmail.com

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

            @מאקרו תודה רבה כעת הוא מכניס לי את הקבצים לפי הסדר
            רק מה שנותר לי זה שמירה של הקובץ בשם

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

            @אוריי

            objDoc.SaveAs2 myPath & "new.docx"
            

            ועי' כאן לפרמטרים נוספים בפונקציה זו.

            תגובה 1 תגובה אחרונה
            3

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

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

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

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


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

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

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