מיזוג כמה קבצי וורד לקובץ אחד בקוד vba
-
אני רוצה למזג כמה קבצי וורד שמעוצבים באותו הסגנון לקובץ 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אמנם הקוד הזה עושה את העבודה אבל שני חלקים חסרים לי שלא הצלחתי לשנות.
- הקוד הזה מכניס את הקבצים הפוך (מבדיקה שלי הוא מכניס את הקובץ הראשון ומעליו הוא מכניס את הקובץ השני וכו') כך מה שצריך זה שלאחר העתקה הסמן יעבור לאחר הטקסט יוסיף מעבר מקטע ויעתיק את הקובץ הבא.
- סגירה ושמירה של הקובץ בנתיב הנ"ל בשם אחר.
-
בניסיון להעביר את הסמן לסוף המסמך מצאתי את הקוד הזה
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 נראה שזה באג של וורד שאין לו תקנה (מקווה שלא)...
-
בניסיון להעביר את הסמן לסוף המסמך מצאתי את הקוד הזה
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 נראה שזה באג של וורד שאין לו תקנה (מקווה שלא)...
-
@אוריי תנסה אולי ככה:
objDoc.Bookmarks("\EndOfDoc").rangeבמקום
objDoc.Bookmarks("\StartOfDoc").rangeבשורה 5
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות