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

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

قام بنشر

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

  • أفضل إجابة
قام بنشر

السلام عليكم 

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

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

    • افتح ملف 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




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

شكرا لكم

 

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