جورج اغلب لینک ها را در برگه های کاری خود قرار می دهد. این هایپرلینک ها به فایل هایی از انواع مختلف هستند که در سیستم کامپیوتری او قرار دارند. هنگامی که او لینک ها را درج می کند، متن پیش فرض هایپرلینک که اکسل درج می کند، مسیر کامل و نام فایل فایل است. جورج مایل است این متن هایپرلینک، به طور پیش فرض، فقط از نام فایل و بدون مسیر کامل تشکیل شده باشد.
یک راه بسیار آسان برای دستیابی به نتیجه دلخواه وجود دارد: به سادگی ورک بوک را به همان پوشه با فایل هایی که می خواهید به آن هایپرلینک متصل شوند، منتقل کنید. وقتی از کادر محاوره ای Insert Hyperlink استفاده می کنید، نام فایل - بدون مسیر - برای پیوند استفاده می شود.
اگر این امکان پذیر نیست، استفاده از کادر محاوره ای Insert Hyperlink منجر به یک مسیر کامل می شود که هم در فیلد Address و هم در قسمت Text to Display کادر محاوره ای Insert Hyperlink ختم می شود. هیچ راهی برای تغییر این رفتار پیش فرض وجود ندارد. شما فقط می توانید پیش فرض پیشنهادی اکسل را ویرایش کنید. این به این معنی است که می توانید بر اساس پیوندهای جداگانه، فیلد Text to Display را در کادر محاوره ای Insert Hyperlink ویرایش کنید تا فقط نام فایل را به دلخواه نشان دهد.
البته، این شامل ویرایش زیادی است - از این رو انگیزه ای برای پرس و جو جورج. چند راه در این مورد وجود دارد. اولین مورد این است که به کادر محاوره ای Insert Hyperlink تکیه نکنید. در عوض، فرمولی بسازید که هایپرلینک را با استفاده از تابع HYPERLINK درج می کند. برای مثال، فرض کنید که در سلول C2، نام مسیری به پوشه حاوی فایل های خود دارید:
C:UsersallenDesktop
علاوه بر این، می توانید لیستی از نام فایل ها در محدوده D2:D75 داشته باشید، مانند این:
MyWorkbook.xlsx
MyDocument.docx
MyPDF.pdf
می توانید فرمولی مانند این را در سلول E2 قرار دهید:
=HYPERLINK($C$2 & D2,D2)
فرمول را در محدوده E3:E75 کپی کنید، و پیوندهای خود را همانطور که می خواهید خواهید داشت.
اگر از قبل تعداد زیادی پیوند درج شده در صفحه گسترده دارید (به عنوان مثال، در ستون A)، می توانید از فرمول کمی بزرگتر برای استخراج و نمایش فقط نام فایل استفاده کنید:
=HYPERLINK(A1,SUBSTITUTE(A1,LEFT(A1,FIND(CHAR(1),SUBSTITUTE(A1,
"",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"",""))))),""))
سپس می توانید ستون حاوی لینک های تمام مسیر را مخفی کنید، بنابراین فقط نسخه های کوتاه شده ای را که می خواهید مشاهده کنید.
اگر لینک های زیادی دارید که می خواهید روی آنها تأثیر بگذارید، می توانید از یک ماکرو برای حذف مسیر از تمام لینک های موجود استفاده کنید.
Sub FixHyperlinkDesc()
Dim h As Hyperlink
Dim sRaw As String
Dim iPos As Integer
For Each h In ActiveSheet.Hyperlinks
sRaw = h.TextToDisplay
iPos = Instr(1, sRaw, "")
While (iPos > 0)
sRaw = Mid(sRaw, iPos + 1, Len(sRaw))
iPos = Instr(1, sRaw, "")
Wend
If sRaw <> h.TextToDisplay Then
h.TextToDisplay = sRaw
End If
Next h
End Sub
تنها چیزی که ماکرو لمس می کند، متن نمایشگر هر لینک است و همه چیز را قبل از بک اسلش نهایی حذف می کند. ماکرو روی هر چیزی که ممکن است به عنوان نتیجه یک تابع HYPERLINK ظاهر شود تأثیر نمی گذارد.