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

كيف يتم استيراد ملفات CSV / text / xml متعددة بسرعة في Excel؟

في Excel ، ربما تكون قد ربطت حفظ مصنف كملف csv أو ملف نصي أو ملف xml ، ولكن هل سبق لك أن حاولت استيراد ملفات csv / text / xml متعددة من مجلد إلى مصنف أو ورقة عمل؟ في هذه المقالة ، أقدم بعض الطرق لاستيرادها دفعة واحدة بسرعة.

قم باستيراد ملفات نصية متعددة من مجلد إلى كل أوراق عمل في مصنف باستخدام VBA

استيراد ملفات CSV متعددة من مجلد إلى ورقة واحدة باستخدام VBA

استيراد ملفات xml متعددة من مجلد إلى ورقة واحدة باستخدام VBA

قم باستيراد أو دمج ملفات xml / csv متعددة في ورقة أو مصنف باستخدام Kutools for Excel فكرة جيدة 3

قم بتصدير كل ورقة بتنسيق csv / text / pdf إلى مجلد باستخدام Kutools for Excelفكرة جيدة 3


لاستيراد ملفات نصية من مجلد إلى مصنف ، يمكنك استخدام VBA أدناه للتعامل معها بسرعة.

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

2. انقر إدراج > وحدة، والصق VBA في ملف وحدة نافذة.

فبا: استيراد كافة الملفات النصية من مجلد إلى مصنف

Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\*.txt")
    Do While xFile <> ""
        xCount = xCount + 1
        Sheets(xCount).Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
          & xStrPath & "\" & xFile, Destination:=Range("A1"))
            .Name = "a" & xCount
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            xFile = Dir
        End With
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files txt", , "Kutools for Excel"
End Sub

3. صحافة F5 مفتاح أو يجري زر لتشغيل VBA ، وحدد المجلد الذي تريد استيراد الملفات النصية منه في مربع الحوار الذي يظهر. انظر لقطة الشاشة:

doc استيراد نص csv متعدد xml 1

4. وانقر OK، وتم استيراد كل ملف نصي في المجلد المحدد إلى ورقة عمل واحدة من المصنف النشط. انظر لقطة الشاشة:

doc استيراد نص csv متعدد xml 2doc استيراد نص csv متعدد xml 3

ادمج بسهولة أوراق / مصنف متعدد في ورقة واحدة أو مصنف واحد

قد يكون دمج الأوراق المتعددة أو المصنفات في ورقة واحدة أو مصنف واحد أمرًا صعبًا في Excel ، ولكن مع ملحق دمج في Kutools for Excel ، يمكنك دمج عشرات الأوراق / المصنفات في ورقة واحدة أو مصنف واحد ، كما يمكنك دمج الأوراق في واحدة بعدة نقرات فقط.  انقر للحصول على كامل المواصفات 30 أيام تجريبية مجانية!
الجمع بين الأوراق
 
Kutools for Excel: مع أكثر من 300 وظيفة إضافية مفيدة في Excel ، يمكنك تجربتها مجانًا دون قيود 30 يوما.

لاستيراد جميع ملفات csv من مجلد في ورقة واحدة ، يمكنك استخدام رمز VBA أدناه.

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

2. انقر إدراج > وحدة، والصق أدناه VBA في ملف وحدة نافذة.

فبا: استيراد ملفات csv من مجلد إلى ورقة عمل واحدة

Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Columns(1).Insert xlShiftToRight
        Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
        xWb.Close False
        xFile = Dir
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub

3. صحافة F5 مفتاح أو انقر يجري لتنفيذ VBA ، وينبثق مربع حوار لتحديد المجلد الذي تريد استيراد جميع ملفات csv منه. انظر لقطة الشاشة:

doc استيراد نص csv متعدد xml 4

4. انقر OK، وينبثق مربع حوار لتذكيرك إذا قمت بمسح محتويات ورقة العمل النشطة قبل الاستيراد ، هنا أنقر نعم. انظر لقطة الشاشة:

doc استيراد نص csv متعدد xml 5

بعد النقر نعم، يتم استيراد جميع ملفات csv في المجلد المحدد إلى الورقة الحالية ، ووضع البيانات من العمود A إلى اليمين. انظر لقطة الشاشة:

doc استيراد نص csv متعدد xml 6doc استيراد نص csv متعدد xml 7

تلميح: إذا كنت تريد وضع ملفات csv أفقيًا في ورقة عمل ، فيمكنك استخدام VBA أدناه.

Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
        xSht.UsedRange.Clear
        xCount = 1
    Else
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    End If
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Rows(1).Insert xlShiftDown
        Range("A1") = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
        xWb.Close False
        xFile = Dir
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub 

doc استيراد نص csv متعدد xml 8


إذا كنت تريد استيراد جميع ملفات XML من مجلد إلى ورقة واحدة ، فيمكنك استخدام رمز VBA أدناه.

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

2. انقر إدراج > وحدة، قم بلصق كود VBA في ملف وحدة نافذة.

فبا: استيراد ملفات XML من مجلد إلى ورقة عمل.

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "\*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3. انقر يجري زر أو F5 مفتاح لتشغيل VBA ، وحدد مجلدًا في مربع الحوار ، انظر لقطة الشاشة:

doc استيراد نص csv متعدد xml 9

4. انقر OK، ويتم استيراد كافة ملفات XML الموجودة في المجلد المحدد إلى الورقة النشطة.


إذا لم تكن معتادًا على VBA ، فلا داعي للقلق ، فأنا أقدم هنا أداة مفيدة - كوتولس ل إكسيل لك. مع قوتها دمج يمكنك دمج ملفات xml أو ملفات csv المتعددة بسرعة في مصنف واحد أو ورقة Excel واحدة.

كوتولس ل إكسيل, مع أكثر من 300 وظائف يدوية ، تجعل مهامك أكثر سهولة. 

بعد تثبيت Kutools for Excel ، يرجى القيام بما يلي:(تنزيل مجاني Kutools for Excel الآن!)

1. اكسل اكسل ، وانقر كوتولس بلس > دمج. انظر لقطة الشاشة :
doc الجمع بين 1

2. وفي الخطوة 1 من الدمج مربع حوار ، اختر خيار فصل واحدًا حسب حاجتك. انظر لقطة الشاشة:
doc الجمع بين 2

3. انقر التالى للذهاب إلى الخطوة 2 من الدمج، اضغط هنا أضف لإضافة ملفات من مجلدات أو ملفات مختلفة من مجلد واحد إلى مصنف القائمة ، ويمكنك أيضًا تحديد الأوراق التي تريد الجمع منها ورقة العمل قائمة القسم الصحيح. انظر لقطة الشاشة:
doc kutools الجمع بين الأوراق 3

4. انقر التالى إلى الخطوة الأخيرة من دمج، ويمكنك تحديد خيارات الدمج.
doc kutools الجمع بين الأوراق 4

5. انقر نهاية، يظهر مربع حوار لتذكيرك بتحديد موقع لحفظ النتيجة المدمجة الجديدة. انظر لقطة الشاشة:
doc الجمع بين 5

6. انقر حفظ. تم دمج جميع أوراق الإضافة في ورقة واحدة جديدة.
doc الجمع بين 6

تلميح: بإضافة إلى دمج، يمكنك أيضًا الجمع بين عدة ملفات ملفات كسف تشكيل عدة مجلدات أو مجلد واحد في ورقة واحدة أو مصنف.


إذا كنت تريد تصدير كل ورقة كملف csv / text / pdf إلى مجلد ، كوتولس ل إكسيلالصورة انقسام وركبوك يمكن أن تقدم فائدة لك.

بعد تركيب مجاني Kutools for Excel ، يرجى القيام بما يلي:

1. قم بتمكين المصنف الذي تريد تصدير أوراق العمل الخاصة به ، وانقر فوق كوتولس بلس > مصنف > انقسام وركبوك. انظر لقطة الشاشة:

doc استيراد نص csv متعدد xml 10

2. في ال انقسام وركبوك مربع الحوار ، يمكنك التحقق من أسماء الأوراق التي تحتاج إلى تصديرها ، ويتم فحص جميع الأوراق افتراضيًا والتحقق منها حدد تنسيق الحفظ وحدد تنسيق الملف الذي تريد حفظه من القائمة المنسدلة أدناه. انظر لقطة الشاشة:

doc استيراد نص csv متعدد xml 11

3. انقر الانقسام وحدد مجلدًا لحفظ الملفات المقسمة بتنسيق قم بالاستعراض بحثًا عن مجلد الحوار ، انظر لقطة الشاشة:

doc استيراد نص csv متعدد xml 12

4. انقر OK، الآن يتم تصدير جميع الأوراق المحددة بتنسيق ملف جديد في المجلد المحدد.


مقالات ذات صلة:


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (36)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا بكم ، شكرًا جزيلاً على عينات التعليمات البرمجية هذه! أول واحد (VBA: استيراد جميع الملفات النصية من مجلد إلى مصنف) هو بالضبط ما أحتاجه. ومع ذلك ، أود تحديد الملفات المراد استيرادها وعدم استيراد جميع الملفات النصية تلقائيًا في أي مجلد معين. أود أيضًا أن يتم الكتابة فوق المحتويات الموجودة في الأوراق المستهدفة الخاصة بي بمحتويات الملفات النصية. (مع الكود أعلاه ، يتم تحويل المحتويات الموجودة إلى اليمين بدلاً من استبدالها.) كيف يمكنني القيام بذلك؟ شكرا لك مقدما!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أود أن أفهم رمز VBA الخاص بـ "استيراد ملفات Xml متعددة من مجلد إلى ورقة واحدة باستخدام VBA". 1. لماذا هناك حاجة إلى مصنفين بدلاً من مصنف واحد؟ 2. يستغرق تحميل العديد من ملفات xml إلى Excel بعض الوقت ، فهل هناك رمز أكثر كفاءة؟ لأنني أدركت عندما تم تشغيل التعليمات البرمجية الخاصة بك ، تم إنشاء العديد من مصنفات VBA مما تسبب في التباطؤ. سأكون ممتنًا حقًا إذا كنت تستطيع مساعدتي في الفهم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
آسف ، لم أفهم سؤالك الأول ، وعن السؤال الثاني ، كلما كان الرمز أكثر فعالية ، لم أجده ، إذا كنت تعلم ، يرجى ترك ملاحظة لي ، شكرًا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، أود أن أفهم رمز VBA لـ "استيراد ملفات .txt متعددة من مجلد إلى ورقة واحدة باستخدام VBA" حسب الصف التالي المتاح (ليس أفقيًا). الرجاء المساعدة ، عاجلة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، إذا كنت ترغب في استيراد جميع ملفات txt من مجلد واحد إلى ورقة واحدة ، فيمكنك استخدام رمز vba أعلاه لاستيراد ملفات txt إلى مصنف أولاً ، ثم تطبيق Kutools for Excel's Combine Worksheets feature لدمج جميع أوراق المصنف إلى ورقة واحدة ، ثم ملفات txt في ورقة. أتمنى أن يساعدك ذلك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
المشكلة في ذلك هي أن أمر VBA ولا Kutools يسمحان باستيراد ملفات csv مع تنسيق رمز الأحرف. التحميل المسبق غربي. أحتاج إلى استيراد جميع ملفات csv كـ unicode-8
تم تصغير هذا التعليق بواسطة المشرف على الموقع
رمز التحويل من ملفات txt لا يعمل معي.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
آسف هذه المقالة لا تعمل من أجلك. هل يمكنك وصف مشكلتك؟ ماذا يحدث أثناء تشغيل الكود؟ وما هو النظام الذي تعمل به؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أهلاً! يعمل الرمز "استيراد ملفات csv من مجلد إلى ورقة عمل واحدة" بالنسبة لي! لكن هذا الرمز لا يعمل مع ملف .txt فارغ. هل هناك أي طريقة للاحتفاظ بالملفات الفارغة أيضًا؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عذرًا ، لا أعرف لماذا أحتاج إلى استيراد ملف txt.file فارغ ~ فقط أدخل صفوفًا فارغة لفصل المحتويات.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مايك: "الكود الخاص بالتحويل من ملفات TXT لم يعمل معي".

واجهت نفس المشكلة ، أخطاء الماكرو إذا كان لديك المزيد من ملفات txt لفتحها أكثر من أوراق العمل في المصنف الخاص بك (الافتراضي هو 3).
لقد أصلحته عن طريق إضافة ما يلي قبل خروج الحلقة مباشرةً ، لذا يُنشئ الماكرو ورقة جديدة بعد البقية
ActiveWorkbook.Sheets.Add بعد: = أوراق العمل (Worksheets.Count)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تشاد ، لقد نجح هذا الأمر تمامًا بالنسبة لي لاستيراد ملفات نصية متعددة. شكرًا لك.

هل تعرف ما إذا كانت هناك طريقة لسحب أسماء الملفات؟ أريد نسخ أسماء الملفات النصية في علامات تبويب أوراق Excel.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مذهل تماما! حاولت فتح جميع ملفات csv في ورقة عمل واحدة وعملت بشكل جميل. شكرا جزيلا حقا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، لقد حاولت تشغيل الكود الخاص بـ .xml ولم يبدو أنه يعمل لأنني تلقيت الرسالة "لا توجد ملفات xml". كيف تصلح هذا؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ستظهر رسالة "لا توجد ملفات xml" بينما لا يحتوي المجلد المحدد على ملفات xml. يمكنك تحديد المجلد الصحيح الذي يحتوي على ملفات xml في مربع الحوار بعد تشغيل الكود لاستيرادها إلى الورقة النشطة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
انها عملت! شكرا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، سايا ماو تانيا كالو ملف نصي إمبور كي ساتو ورقة جيمانا يا؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، رندي ، هل تريد استيراد جميع النصوص إلى ورقة واحدة أم كل نص إلى كل ورقة؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لدي كود لاستيراد txts إلى أوراق كل نص إلى كل ورقة ، لكني أريد استيراد كل ملف نصي باسمه إلى ورقة ، أعني إعادة تسمية كل ورقة مستوردة مع اسم ملف النص المرفق بملف الكود .. أريد تعديل هذا ملف لإضافة رمز لإعادة تسمية الأوراق باسم txts ... شكرا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لدي كود لاستيراد txts إلى أوراق كل نص إلى كل ورقة ، لكنني أريد استيراد كل ملف نصي باسمه إلى ورقة ، أعني إعادة تسمية كل ورقة مستوردة باسم ملف txt الذي تم إرفاقه بملف الكود .. شكرًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا رامي ، زهران ، يمكنك تجربة الكود أدناه الذي يمكنه استيراد الملفات النصية وإعادة تسمية اسم الورقة إلى اسم الملف النصي.
تحميل فرعي أنبوب محدد ملفات ()
'تحديث بواسطةExtendoffice20180925
خافت xStrPath كسلسلة
خافت xFileDialog كحوار ملف
خافت x ملف كسلسلة
خافت xCount كما طويل
خافت xWS كورقة عمل

عند الخطأ ، انتقل إلى ErrHandler
قم بتعيين xFileDialog = Application.FileDialog (msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = خطأ
xFileDialog.title = "حدد مجلدًا [Kutools for Excel]"
إذا كان xFileDialog.Show = -1 ثم
xStrPath = xFileDialog.SelectedItems (1)
إنهاء حالة
إذا كان xStrPath = "" ثم اخرج من Sub
Application.ScreenUpdating = خطأ
xFile = Dir (xStrPath & "\ *. txt")
القيام أثناء xFile <> ""
xCount = xCount + 1
تعيين xWS = الأوراق (xCount)
xWS حدد
xWS.Name = "TEXT" & يسار (xFile ، Len (xFile) - 4)
باستخدام ActiveSheet.QueryTables.Add (اتصال: = "TEXT؛" _
& xStrPath & "\" & xFile ، الوجهة: = النطاق ("A1"))
.Name = "a" & xCount
.FieldNames = صحيح
.RowNumbers = خطأ
.FillAdjacentFormulas = خطأ
.PreserveFormatting = صحيح
.RefreshOnFileOpen = خطأ
.RefreshStyle = xlInsertDeleteCells
.SavePassword = خطأ
.SaveData = صحيح
.AdjustColumnWidth = صحيح
.RefreshPeriod = 0
.TextFilePromptOnRefresh = خطأ
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = خطأ
.TextFileSemicolonDelimiter = خطأ
.TextFileCommaDelimiter = خطأ
.TextFileSpaceDelimiter = خطأ
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = صفيف (1، 1، 1)
.TextFileTrailingMinusNumbers = صحيح
.Refresh BackgroundQuery: = خطأ
xFile = دير
انتهت ب
أنشوطة
Application.ScreenUpdating = ترو
خروج الفرعية
ErrHandler:
MsgBox "no files txt" ، "Kutools for Excel"
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أهلاً! لقد استخدمت الكود لدمج ملفات XML متعددة في ملف واحد ، لكن للأسف تعطلت الأعمدة. جميع الملفات الخمسة التي يتم دمجها لها نفس التنسيق. هل هناك أي طريقة لإصلاح هذا؟ كنت أتساءل أيضًا عما إذا كانت هناك طريقة للتخلص من الرؤوس التي يتم تكرارها عند دمج الملفات. شكرًا لك!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا لك. كان هذا الموقع مساعدة كبيرة. لدي مشكلة واحدة لا أستطيع حلها. أحاول استيراد ملفات CSV متعددة إلى أوراق منفصلة في Excel في Excel وإعادة تسمية كل ورقة بعد اسم ملف ملف csv. أعلم أن هذا تمت تغطيته أدناه لملف txt ولكني أعمل مع ملفات csv. شكرا لك مقدما.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا - أنا أستخدم استيراد جميع ملفات csv في ملف واحد مذكور أعلاه "استيراد ملفات Csv متعددة من مجلد إلى ورقة واحدة باستخدام VBA" - أرغب في تحديد المجلد الذي يجمع البيانات منه دون الحاجة إلى الاختيار يدويًا هو - هي. هل يمكن هذا؟ شكرا - SW.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، Scott W ، لقد وجدت أن رمز VBA يمكن أن يساعدك.
الخيار صريح

استيراد فرعي CSVsWithReference ()
المؤلف: جيري بوكير
التاريخ: 10/16/2010
"الملخص: استيراد جميع ملفات CSV من مجلد إلى ورقة واحدة
إضافة حقل في العمود A يسرد أسماء ملفات CSV

خافت wbCSV كمصنف
خافت wsMstr كورقة عمل: تعيين wsMstr = ThisWorkbook.Sheets ("Sheet1")
Dim fPath As String: fPath = "C: \ Users \ DT168 \ Desktop \ New folder \" 'المسار إلى ملفات CSV ، بما في ذلك المسار النهائي \
خافت fCSV كسلسلة

إذا كان MsgBox ("مسح الورقة الموجودة قبل الاستيراد؟" ، vbYesNo ، "مسح؟") _
= vbYes ثم wsMstr.UsedRange.Clear

Application.ScreenUpdating = False 'تسريع الماكرو

fCSV = Dir (fPath & "* .csv") 'بدء قائمة ملف CSV

افعل بينما Len (fCSV)> 0
افتح ملف CSV
اضبط wbCSV = Workbooks.Open (fPath & fCSV)
أدخل العمود A وأضف اسم CSV
الأعمدة (1). أدخل xlShiftToRight
الأعمدة (1) .SpecialCells (xlBlanks) .Value = ActiveSheet.Name
تاريخ النسخ في الورقة الرئيسية وإغلاق الملف المصدر
ActiveSheet.UsedRange.Copy wsMstr.Range ("A" & Rows.Count). End (xlUp). Offset (1)
إغلاق خطأ
جاهز CSV التالي
fCSV = دير
أنشوطة

Application.ScreenUpdating = ترو
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيفية التخلص من العنوان المكرر وعمود اسم ملف CSV. الرجاء المساعدة .... لقد قمت بالاطلاع على العديد من المقالات ، ولكن للأسف جميعها تعطي نفس النتيجة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا - لقد استخدمت أكواد VBA الخاصة بك لاستخراج البيانات من ملفات CSV متعددة إلى ملف Excel (الكود الموجود في هذه الصفحة) وتحويل ملفات csv إلى ملفات Excel (هذا: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html) ، بنتائج رائعة. لقد ساعدوني في توفير الكثير من الوقت.

ومع ذلك ، لاحظت مشكلة شائعة في كلا النوعين من الرموز. للتوضيح ، تم إعداد نظامي لاستخدام المعايير الأوروبية للتواريخ ، بينما تحتوي بعض ملفات CSV التي تلقيتها لعملي على تواريخ في المعايير الأمريكية. المشكلة الأولى هي ، عندما أقوم باستخراج البيانات أو تحويلها من ملف CSV يحتوي على تواريخ بتنسيق الولايات المتحدة ، يتم عكس كل هذه التواريخ (مطابقة لمعايير الاتحاد الأوروبي التي يستخدمها نظامي). هذا رائع ولكنه تسبب لي أيضًا في حدوث مشكلات لأنني لم أكن أعرف أن الرموز ستعكس التواريخ بالنسبة لي ، لذلك تقدمت وفعلت الشيء نفسه مرة أخرى. المشكلة الثانية هي ، بالنسبة لملفات CSV التي تحتوي على تواريخ بنفس التنسيق المستخدم من قبل نظامي (معايير الاتحاد الأوروبي) ، يتم عكس التواريخ الغامضة فقط (مثل 04/05/2019 - 05/04/2019) ، بينما تلك الواضحة جدًا ، تظل دون تغيير (أي 30/04/2019).

ما أود أن تفعله الرموز هو نفس الشيء تمامًا كما هو معروض هنا ، فقط يجب عليهم نسخ البيانات ولصقها (خاصة التواريخ) بالتنسيقات الدقيقة المستخدمة في الملفات الأصلية. هذا من شأنه أن يساعد في منع أي ارتباك وأخطاء محتملة. أرغب في تعلم VBA حتى أتمكن يومًا ما من كتابة الرموز الخاصة بي ، لكن في الوقت الحالي ، لا يمكنني حتى تعديل أجزاء من الرموز الحالية لتناسب احتياجاتي. لذا ، إذا كان بإمكانك المساعدة ، من فضلك قل لي أين يجب أن أضع الرموز المعدلة (التي توصلت إليها) في الرموز الحالية. أقدر كل التعليقات والدعم الذي يمكنني الحصول عليه. شكرا لكم جميعا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا مارشال ، في طريقة Workbooks.Open ، أضف الخيار Local: = True.

أي
قم بتعيين xWb = Workbooks.Open (xStrPath & "\" & xFile، Local: = True)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا جزيلا لك روبرت. آسف لم أستطع الرد عليك في أي وقت سابق. لم أتلق أي إشعار حتى الآن. سأحاول ذلك وأعود إليك لاحقًا لإعلامك بما إذا كان هذا يعمل أم لا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا روبرت،
أنا مرة أخرى. لقد استغرقت بعض الوقت للحصول على الوقت الفعلي لمعرفة أي جزء من الكود يجب إضافة الجزء "Local: True" إليه. كانت النتيجة رائعة لأن التواريخ لم تعد مقلوبة. شكرًا لك!
لأي شخص لديه نفس المشكلة ، ما عليك سوى تغيير هذا السطر:
تعيين xWb = Workbooks.OpenXML (xStrPath & "\" & xFile)

الى هذا:
قم بتعيين xWb = Workbooks.Open (xStrPath & "\" & xFile، Local: = True)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هل هناك أي طريقة لاستيراد ملفات CSV متعددة بفاصلة منقوطة كفاصل؟ شكرًا لك!
مقالة لطيفة PS!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا فريق

أنا أستخدم الكود لاستيراد ملفات XML متعددة في ورقة واحدة مع VBA ولكن المشكلة التي أواجهها هي عندما يصل عدد الصفوف إلى 650000 تقريبًا ، ثم لا يعالج باقي ملفات xml في المجلد ويعطي خطأً يفيد بعدم وجود ملفات xml . بحاجة إلى دعمكم لزيادة هذا العدد.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا الخبراء

أنا أستخدم الكود أعلاه لاستيراد ملفات xml متعددة في ورقة عمل واحدة باستخدام VBA ولكن المشكلة التي أواجهها هي عندما يصل عدد الصفوف إلى 1 في ورقة العمل ، فإن هذا الرمز لا يعالج بقية ملفات xml في المجلد. فإنه يعطي خطأ "لا files.xml". تتطلب دعمكم الكريم
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، تعمل الإرشادات الخاصة باستيراد ملفات xml متعددة في علامة تبويب واحدة لمستند Excel ولكن تتساءل عن كيفية جعلها تصطف بين الأعمدة. لا تحتوي جميع ملفات xml الخاصة بي على نفس العلامات. يتم إعدادها بحيث إذا لم يكن لدى xml بيانات لبعض الترويسات (العلامات) ، فإن الرأس مفقود من ملف xml هذا. هل هناك طريقة للحصول على ملفات xml للاستيراد بحيث تقع نفس الرؤوس من كل xml والبيانات المرتبطة بها في نفس عمود Excel؟
لا توجد تعليقات منشورة هنا حتى الآن
عرض المزيد
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

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