עזרה | איחוד עשרות קבצי וורד לקובץ ארוך עם שמות הקבצים
-
איך אפשר לאחד מספר קבצי וורד, שיש חשיבות רבה לשם הקובץ המקורי של הבודדים בתוך הקובץ הארוך?
-
@יפי-קונשטט אפשרי לעשות את זה באמצעות קוד vba או פייתון, השאלה היא איך בדיוק צריכה התוצאה הסופית להיראות,
והאם זה שווה את ההשקעה.. -
@יפי-קונשטט כוונתי היתה, איך צריך להיכנס שם הקובץ המקורי בתוך המסמך החדש?
ופייתון זו שפת תכנות נחמדה שאני אוהב להשתמש בה למשימות מהסוג הזה...
-
@אביי כתב בעזרה | איחוד עשרות קבצי וורד לקובץ ארוך עם שמות הקבצים:
@יפי-קונשטט כוונתי היתה, איך צריך להיכנס שם הקובץ המקורי בתוך המסמך החדש?
לא מאד משנה איך יהיה כתוב, העיקר שיהיה איזכור לזהופייתון זו שפת תכנות נחמדה שאני אוהב להשתמש בה למשימות מהסוג הזה...
-
@יפי-קונשטט קצת מבלבל שהתשובה בתוך הציטוט, לא שמתי לב בהתחלה...
אני יבדוק אם אני יכול לעשות משהו כזה בקלות...
-
החלק של איחוד הקבצים אמור להיות פשוט מאוד
ניתן להוסיף בראש כל קובץ בתוך הטקסט את פרטי הקובץ באופן הבא:
לעשות את זה אוטומטי לכל הקבצים אני לא יודע
-
@יפי-קונשטט הקוד מוכן, רק מארגן אותו ומקמפל
-
@יפי-קונשטט משום מה אחזור מיקום הסקריפט בכדי לשמור את הקובץ החדש לאחר קימפול הקוד נתקל בבעיה, לכן אני מצרף בינתיים את הקוד פייתון עצמו, בעז"ה עוד מעט אעלה קובץ מקומפל תקין
מקומפל להרצה על מחשב ללא פייתון
combine_docs.exeimport os import sys from docx import Document from docx.shared import Pt from docx.enum.text import WD_PARAGRAPH_ALIGNMENT def add_document_content(document, document_name, content): document.add_paragraph(document_name, style='Normal').alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT document.add_paragraph(content, style='Normal').alignment = WD_PARAGRAPH_ALIGNMENT.RIGHT document.add_page_break() def merge_word_files(folder_path, output_file): merged_document = Document() word_files = [f for f in os.listdir(folder_path) if f.endswith('.docx')] word_files.sort() for word_file in word_files: file_path = os.path.join(folder_path, word_file) document_name = os.path.splitext(word_file)[0] doc = Document(file_path) content = "\n".join([paragraph.text for paragraph in doc.paragraphs]) add_document_content(merged_document, document_name, content) merged_document.save(output_file) def get_script_directory(): if getattr(sys, 'frozen', False): return os.path.dirname(sys.executable) else: return os.path.dirname(os.path.abspath(__file__)) if __name__ == "__main__": script_directory = get_script_directory() input_folder = script_directory output_file = os.path.join(script_directory, "קובץ מאוחד.docx") merge_word_files(input_folder, output_file) print(f"Merged Word files in folder {input_folder} saved to: {output_file}")
-
מקומפל להרצה על מחשב ללא פייתון
combine_docs.exeמסתבר שהבעיה היתה במחשב שלי, ולא בקימפול, עברתי למחשב של הפיתוח והכל בסדר..
-
@יפי-קונשטט לא אמור להיות קשור,
מה כן קורה? עולה חלונית שחורה למספר שניות?
-
-
@יפי-קונשטט זה קובץ כלשהו של מערכת ההפעלה שפייתון צריך ולא נתמך בגירסה הזו של ווינדוס 7,
מכאן ומכאן נראה שאין פתרון לבעיה, תצטרכו למצוא מחשב עם ווינדוס 10 בשביל להריץ את התוכנה
-
ניסיתי במחשב אחר, זה עובד מעולה עם מסמכים אחרים אבל הקבצים הספציפיים האלה הם בגרסה ישנה של וורד והוא לא מחבר אותם משום מה
-
@יפי-קונשטט נכון, זה קבצים בסיומת doc והם בנויים אחרת לחלוטין מקבצי הdocx שלהם מתאים הסקריפט והספריה שכתבתי...
כרגע אין לי זמן, אבל אם זה חשוב ולא ניתן להמיר אותם לקבצים מהזן החדש (docx), אוכל לפתח לזה משהו בתשלום (זה הרבה עבודה כי אני לא מכיר את הספריות לזה..)
-
@יפי-קונשטט
כנראה לא צריך