اذهب الي المحتوي
أوفيسنا

ربط عدة ملفات بملف رئيسي


samoxz
إذهب إلى أفضل إجابة Solved by عبدالله بشير عبدالله,

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

لدي عدة ملفات اكسل قمت بربطها بملف رئيسي يأخذ البيانات منهم
المشكلة عند نقل الملفات لموقع جديد اللينكات القديمة لا تتعرف على الموقع الجديد 
فهل يوجد طريقة سريعة لتحديث الروابط

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

  • أفضل إجابة

السلام عليكم 

اذاكانت الملفات المرتبطة عددها بسيط استخدم الطريقة اليدوية التالية

فتح الملف الرئيسي:

    • افتح ملف Excel الرئيسي الذي يحتوي على الروابط إلى الملفات الأخرى.
  1. تحرير الروابط:

    • اذهب إلى علامة التبويب "البيانات" (Data) في الشريط.
    • اضغط على "تحرير الروابط" (Edit Links) التي توجد عادة في مجموعة "الاتصالات" (Connections).
  2. تغيير مصدر الروابط:

    • ستظهر لك نافذة تحتوي على جميع الروابط الموجودة في الملف.
    • حدد الروابط التي تحتاج إلى تحديث، ثم اضغط على "تغيير المصدر" (Change Source).
  3. اختيار الموقع الجديد:

    • اختر الملفات من الموقع الجديد الذي تم نقلها إليه.
  4. تحديث الروابط:

    • بعد اختيار الملفات، اضغط على "موافق" لتحديث الروابط إلى الموقع الجديد.

اذ كانت الروابط كثيرة فاستخدم الكود التالى

Sub UpdateLinks()
    Dim OldLink As String
    Dim NewLink As String
    Dim LinkArray As Variant
    Dim i As Integer

    ' الرابط القديم
    OldLink = "C:\المسار_القديم\"
    ' الرابط الجديد
    NewLink = "C:\المسار_الجديد\"

    LinkArray = ActiveWorkbook.LinkSources(Type:=xlExcelLinks)

    If Not IsEmpty(LinkArray) Then
        For i = LBound(LinkArray) To UBound(LinkArray)
            If InStr(LinkArray(i), OldLink) > 0 Then
                ActiveWorkbook.ChangeLink Name:=LinkArray(i), NewName:=Replace(LinkArray(i), OldLink, NewLink), Type:=xlExcelLinks
            End If
        Next i
    End If

    MsgBox "تم تحديث الروابط بنجاح!", vbInformation
End Sub
  • قم بتعديل المسارات (OldLink و NewLink) حسب الموقع القديم والجديد للملفات.
  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

شكرا لكم و جزاكم الله خير وجدت الحل مساعدة تشات جي ي تي و هو قريب من الكود المققترح من قبلكم لكنه يقوم تغيير اللينكات في كل الملف مهما كان تنوع الصفحات و اللينكات

أضع الكود للفائدة
Sub ReplacePathsInAllSheets()
    Dim ws As Worksheet
    Dim oldPath As String
    Dim newPath As String
    Dim cell As Range
    
    ' Define old and new paths
    oldPath = "C:\Users\Admin\Desktop\Teachers New\"
    newPath = "C:\Users\Admin\Desktop\New Folder\Teachers New\"
    
    ' Loop through each worksheet in the workbook
    For Each ws In ThisWorkbook.Worksheets
        ' Loop through each cell in the used range of the worksheet
        For Each cell In ws.UsedRange
            ' Check if the cell contains a formula
            If cell.HasFormula Then
                ' Replace old path with new path in the formula (handle single and multiple links)
                If InStr(cell.Formula, oldPath) > 0 Then
                    cell.Formula = Replace(cell.Formula, oldPath, newPath)
                End If
            End If
        Next cell
    Next ws
    
    MsgBox "All link paths have been updated!"
End Sub

حيث تتم اضافة موديول ثم تشغيله



شكرا لكم
 

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information