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

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

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

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

מתוזמן נעוץ נעול הועבר תוכנה
5 פוסטים 2 כותבים 217 צפיות 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
            תגובה
            • תגובה כנושא
            התחברו כדי לפרסם תגובה
            • מהישן לחדש
            • מהחדש לישן
            • הכי הרבה הצבעות


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

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

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