اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

تقسيم ملف إلى ملفات منفصلة


الردود الموصى بها

السلام عليكم ورحمة الله وبركاته،،

عندي ملف مكون من 400 صفحة، وكل 7 صفحات من هذا الملف تحتوي على موضوع معين، يفصل كل موضوع عن الآخر فاصل صفحات (ctrl+entr).

ما أعرفه هو عن طريق تحديد الصفحات المطلوبة ومن ثَمَّ نسخها ولصقها في ملف جديد، هذه الطريقة مرهقة، وتحتاج لوقت طويل.

سؤالي: كيف يمكن تقسيم الملف إلى ملفات منفصلة، بحيث يكون كل 7 صفحات في ملف منفصل بطريقة آلية.

ولكم جزيل الشكر

  • Like 1
رابط هذا التعليق
شارك

  • 3 weeks later...

السلام عليكم

 

 

 

ملف به 10 صفحات، وكل موضوع مقسم لصفحتين.
المطلوب: فصل كل موضوع في ملف خاص به.

 

جرب هذا الكود

انشاء مودويل في ملف الوورد الذي به المواضيع

والصق فيه الكود

Public Sub Ali_Copy_Sht()
Dim Rng As Range
Dim Mu_a$, Pth$
Dim ii%, i%, Nx%, Np%
'****************
Mu_a = "الموضوع"
'****************
Np = 0
On Error Resume Next
For ii = 1 To 10 Step 2
Np = Np + 1
i = ii: Nx = ii + 1
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=i
  Set Rng = Selection.Range
    Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=Nx
    Rng.End = Selection.Bookmarks("\Page").Range.End
 Rng.Select
    Selection.Copy
    Application.Documents.Add
    Selection.Paste
   Pth = ThisDocument.Path & "\"
  ActiveDocument.SaveAs Pth & Mu_a & " - " & Np & ".docx"
ActiveDocument.Close
Next
On Error GoTo 0
ActiveDocument.Range(1, 1).Select
MsgBox "تم تقسيم كل موضوع في ملف بنجاح", vbInformation, ""
Set Rng = Nothing
End Sub

الكود سيقوم بانشاء ملف لكل موضوع 

وحفظه في نفس فولدر الملف

 

تحياتي

رابط هذا التعليق
شارك

السلام عليكم

 

اضافة على الكود 

تحديد عدد المواضيع اختياري من قبل المستخدم

Public Sub Ali_Copy_Sht()
Dim Rng As Range
Dim Mu_a$, Pth$
Dim ii%, i%, Nx%, Np%
Dim Num%, A%, B%, x%
'****************
On_1:
Mu_a = "الموضوع"
'****************
Np = 0
On Error Resume Next
Num = ActiveDocument.ActiveWindow.ActivePane.Pages.Count
A = InputBox("إدخل عدد الصفحات لكل موضوع", , 2)
B = InputBox("إدخل عدد المواضيع", , 5)
If (B * A) <> Num Then MsgBox "تأكد من عدد الأوراق لكل موضوع ", vbInformation, "": GoTo On_1
x = A - 1
For ii = 1 To Num Step A
Np = Np + 1
i = ii: Nx = ii + x
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=i
  Set Rng = Selection.Range
    Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=Nx
    Rng.End = Selection.Bookmarks("\Page").Range.End
 Rng.Select
    Selection.Copy
    Application.Documents.Add
    Selection.Paste
   Pth = ThisDocument.Path & "\"
  ActiveDocument.SaveAs Pth & Mu_a & " - " & Np & ".docx"
ActiveDocument.Close
Next
On Error GoTo 0
ActiveDocument.Range(1, 1).Select
MsgBox "تم تقسيم كل موضوع في ملف بنجاح", vbInformation, ""
Set Rng = Nothing
End Sub

رابط هذا التعليق
شارك

السيد الفاضل/ عباد  المحترم

السلام عليكم ورحمة الله وبركاته

أشكر لك إجابتك، حقيقة أنا لا أفهم ما تقول، ما المقصود بالموديول؟، وكيفية استخدامه؟ حتى أطبقه من خلالي.

مع الاحترام والتقدير

 

السلام عليكم

 

 

 

ملف به 10 صفحات، وكل موضوع مقسم لصفحتين.
المطلوب: فصل كل موضوع في ملف خاص به.

 

جرب هذا الكود

انشاء مودويل في ملف الوورد الذي به المواضيع

والصق فيه الكود

Public Sub Ali_Copy_Sht()
Dim Rng As Range
Dim Mu_a$, Pth$
Dim ii%, i%, Nx%, Np%
'****************
Mu_a = "الموضوع"
'****************
Np = 0
On Error Resume Next
For ii = 1 To 10 Step 2
Np = Np + 1
i = ii: Nx = ii + 1
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=i
  Set Rng = Selection.Range
    Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=Nx
    Rng.End = Selection.Bookmarks("\Page").Range.End
 Rng.Select
    Selection.Copy
    Application.Documents.Add
    Selection.Paste
   Pth = ThisDocument.Path & "\"
  ActiveDocument.SaveAs Pth & Mu_a & " - " & Np & ".docx"
ActiveDocument.Close
Next
On Error GoTo 0
ActiveDocument.Range(1, 1).Select
MsgBox "تم تقسيم كل موضوع في ملف بنجاح", vbInformation, ""
Set Rng = Nothing
End Sub

الكود سيقوم بانشاء ملف لكل موضوع 

وحفظه في نفس فولدر الملف

 

تحياتي

رابط هذا التعليق
شارك

السلام عليكم

 

شاهد المرفق

بتلاحظ اعدت نسخ الكود من الموضوع

وذلك لان اللغة كانت انجليزي فظهرت الكتابه العربيه بالكود كعلامة ؟؟؟؟

فقمت بتحويل اللغة الى عربي "Alt + Shift" 

واعدت نسخ الكود كي تظهر اللغة العربيه في الكود كالطبيعه

 

 

Wd.rar

رابط هذا التعليق
شارك

الأخ الفاضل/ الـعيدروس  المحترم 

بدايةً أشكر لك جهودك الطيبة، لقد استفدت من مقطع الفيديو وبدون أي عناء، وعرفت ما هو المقصود من الموديول وكيفية استخدامه.

تمنياتي لك بالتوفيق

ثانياً: سؤالي كيف يمكن أن نفصل ملف واحد متكامل إلى عدة ملفات منفصلة، علماً أن المعيار للفصل هو الضغط على (ctrl+entr) بين الموضوع والآخر، بغض النظر عن اسم الموضوع وعدد صفحاته، بمعنى أنه على افتراض أنه يوجد ملف عدد صفحاته 400 صفحة، والموضوع الأول يتحدث عن مشكلة المياه في الوطن العربي، وعدد صفحاته 30، والموضوع التالي مشكلة تلوث الهواء، وعدد صفحاته 60، وهكذا.... والذي يفصل كل موضوع عن الآخر ctrl+entr، هل يمكن فصل كل موضوع في ملف منفصل عن الملف الأصلي.

مع الاحترام والتقدير

رابط هذا التعليق
شارك

اخ مصطفى 

الحمد لله انك استفدت من الشرح

اما طلبك الاخير اجده من الصعب معرفة كم عدد صفحات الموضوع

بشكل تلقائي من الكود

واضن بنظري صعب لاني ليس خبير بما يكفي في الوورد 

ارجو ان تجد مبتغاك

عله احد الاساتذة يطلعنا على طريقة للتتبع عدد صفحات المواضيع  

تحياتي لك

رابط هذا التعليق
شارك

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information