Note: The other languages of the website are Google-translated. Back to English

كيفية تحويل دفعة مستندات Word إلى ملف txt؟

تتحدث هذه المقالة عن كيفية تحويل جميع مستندات Word في مجلد معين لفصل ملفات TXT في Word.

قم بتحويل مستندات Word إلى ملفات TXT باستخدام VBA


قم بتحويل مستندات Word إلى ملفات TXT باستخدام VBA

يمكن أن يساعد رمز VBA أدناه في تحويل جميع مستندات Word الموجودة في مجلد معين إلى ملفات txt مرة واحدة. الرجاء القيام بما يلي.

1. في مستند Word ، اضغط على قديم + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. في ال ميكروسوفت فيسوال باسيك للتطبيقات الإطار، انقر فوق إدراج > وحدة، ثم انسخ الكود أدناه في نافذة الوحدة النمطية.

كود فبا: دفعة تحويل مستندات Word إلى ملفات txt

Sub ConvertDocumentsToTxt()
'Updated by Extendoffice 20181123
    Dim xIndex As Long
    Dim xFolder As Variant
    Dim xFileStr As String
    Dim xFilePath As String
    Dim xDlg As FileDialog
    Dim xActPath As String
    Dim xDoc As Document
    Application.ScreenUpdating = False
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1)
    xFileStr = Dir(xFolder & "\*.doc")
    xActPath = ActiveDocument.Path
    While xFileStr <> ""
        xFilePath = xFolder & "\" & xFileStr
        If xFilePath <> xActPath Then
            Set xDoc = Documents.Open(xFilePath, AddToRecentFiles:=False, Visible:=False)
            xIndex = InStrRev(xFilePath, ".")
            Debug.Print Left(xFilePath, xIndex - 1) & ".txt"
            xDoc.SaveAs Left(xFilePath, xIndex - 1) & ".txt", FileFormat:=wdFormatText, AddToRecentFiles:=False
            xDoc.Close True
        End If
        xFileStr = Dir()
    Wend
    Application.ScreenUpdating = True
End Sub

3. اضغط على F5 مفتاح لتشغيل الكود.

4. في ال تصفح ، حدد المجلد الذي يحتوي على مستندات Word التي ستقوم بتحويلها إلى ملفات txt ، وانقر فوق OK زر. انظر لقطة الشاشة:

ثم يمكنك رؤية جميع المستندات الموجودة في المجلد المحدد يتم تحويلها إلى ملفات txt مرة واحدة. انظر لقطة الشاشة:


أدوات إنتاجية Word الموصى بها

 

Kutools For Word - أكثر من 100 ميزة متقدمة لـ Word ، وفر وقتك بنسبة 50 ٪

  • يمكن إجراء العمليات المعقدة والمتكررة لمرة واحدة في ثوانٍ.
  • أدخل صورًا متعددة عبر المجلدات في مستند Word مرة واحدة.
  • دمج ودمج ملفات Word المتعددة عبر المجلدات في ملف واحد بالترتيب الذي تريده.
  • قسّم المستند الحالي إلى مستندات منفصلة وفقًا للعنوان أو فاصل المقطع أو معايير أخرى.
  • قم بتحويل الملفات بين Doc و Docx و Docx و PDF ، ومجموعة من الأدوات للتحويلات والاختيارات الشائعة ، وما إلى ذلك ...
فرز التعليقات حسب
التعليقات (22)
تقييم شنومك من شنومكس · تصنيفات 1
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أنا من محبي الشعر. كنت بحاجة إلى تحويل أكثر من 700 كلمة من التراكيب إلى txt. بفضل الروتين الفرعي الخاص بك ، تمكنت من القيام بذلك في لمح البصر.
شكراً لك
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل من الممكن توفير نفس الرمز عند استخدام أحدث إصدار من Word على جهاز Mac؟ تلقيت خطأ Run-Time 5948 ونقاط التصحيح إلى هذا القسم: تعيين xDlg = Application.FileDialog (msoFileDialogFolderPicker) •••• ˇˇˇˇ
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا لك! هذا مفيد للغاية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ماذا فعلت لتشغيلها؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لا تعمل لدي أي أفكار لماذا؟
هل أحتاج إلى القيام بذلك في مستند Word من نفس المجلد الذي أريد تحويله أو أي مستند Word جديد أبدأ به؟ - جربت كلا الخيارين ولم يعمل أي منهما ولكني لا أحصل أيضًا على أي رسائل خطأ
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أنا أستخدم Windows 10 و Microsoft Office 2016
تم تصغير هذا التعليق بواسطة المشرف على الموقع
قم بتغيير xFileStr = Dir (xFolder & "\ *. doc") إلى xFileStr = Dir (xFolder & "\ *. docx") لأنني أفترض أن لديك تنسيق ملفات كلمات أحدث.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، يعمل الرمز ولكن في النهاية يعطيني "خطأ وقت التشغيل 91" ، تحتوي بعض ملفاتي على كائنات. أي فكرة كيف يمكنني إصلاح هذا؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا جزيلا! عملت مثل السحر!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عملت بسرعة وبشكل مثالي على مجلد مليء بملفات docx. أشكرك/
تم تصغير هذا التعليق بواسطة المشرف على الموقع
البرنامج النصي يعمل بشكل رائع بالنسبة لي ، ولكن لمجلد واحد فقط. هل هناك أي طريقة لتضمين جميع المجلدات الفرعية؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا على هذا - كنت سأقوم فقط برمز شيء ما بنفسي عندما فكرت ، "ربما يكون أحدهم قد فعل هذا بالفعل؟" كان لديك ، وصفقة أكثر أناقة مما كنت سأفعله. شكرا لك على عملك الشاق.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لقد استخدمت البرنامج النصي أعلاه لتحويل مستندات التحويل إلى مجموعة باللغة الكورية ، لكن البرنامج النصي لم يعمل. عندما أتعب من تغيير الترميز ، هل يمكن لأي شخص مساعدتي في هذا الخطأ؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحتاج منهم للتحويل إلى ملفات نصية محددة هل هذا ممكن حتى الآن.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عملت علاج! شكرًا!
تقييم شنومك من شنومكس
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا شكرا لك على هذا المنشور. عندما أقوم بالضغط على "تشغيل" ، أتلقى رسالة خطأ: "خطأ في التجميع: إجراء خارجي غير صالح." هذا هو ما إذا كنت أستخدم ملحق doc أو docx (ربما لا علاقة له ولكنني جربت كليهما.) من فضلك ، هل يمكنك المساعدة؟ ليس لدي أي فكرة عن كيفية استخدام الكود .... وأحتاج حقًا إلى تحويل الكثير من المستندات. شكرًا لك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا دورجا ،
الكود يعمل بشكل جيد في حالتي.
يرجى التأكد من أن نافذة الوحدة النمطية (الرمز) تحتوي فقط على رمز VBA المتوفر في المنشور.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هذا يعمل بشكل مثالي. هل هناك طريقة لاختيار تنسيق ترميز مختلف لـ TXT (UTF-8 بدلاً من Windows على سبيل المثال)؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا سايمون ،
يساعد رمز VBA التالي على تحويل جميع مستندات Word الموجودة في مجلد محدد إلى ملفات UTF-8 .txt
Sub ConvertDocumentsToTxt()
'Updated by Extendoffice 20201031
    Dim xIndex As Long
    Dim xFolder As Variant
    Dim xFileStr As String
    Dim xFilePath As String
    Dim xDlg As FileDialog
    Dim xActPath As String
    Dim xDoc As Document
    Application.ScreenUpdating = False
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1)
    xFileStr = Dir(xFolder & "\*.doc")
    xActPath = ActiveDocument.Path
    While xFileStr <> ""
        xFilePath = xFolder & "\" & xFileStr
        If xFilePath <> xActPath Then
            Set xDoc = Documents.Open(xFilePath, AddToRecentFiles:=False, Visible:=False)
            xIndex = InStrRev(xFilePath, ".")
            xDoc.SaveAs Left(xFilePath, xIndex - 1) & ".txt", FileFormat:=wdFormatText, AddToRecentFiles:=False, Encoding:=msoEncodingUTF8
            xDoc.Close True
        End If
        xFileStr = Dir()
    Wend
    Application.ScreenUpdating = True
End Sub
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تشكرات
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ميرسي بوكوب! La convert se fait très bien
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Vielen Dank، das ist wirklich sehr hilfreich! Ich werde auf Deine Seite bei der nächsten Gelegenheit verweisen.
تحية
أولي
لا توجد تعليقات منشورة هنا حتى الآن

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL