
گاهی اوقات لازمه که برای لیستی از داده ها در اکسل لینک بسازیم و متصل کنیم به فایل های مربوطه. مثلا لیستی از نامه ها داریم در اکسل و میخوایم روی هر شماره نامه کلیک کردیم، نامه مربوطه باز بشه. یا فایلی برای فاکتورهای فروش داریم و میخوایم با کلیک بر روی هر شماره فاکتور، نسخه PDF همون فاکتور باز بشه. این کار رو هم با ابزار Hyperlink میشه انجام داد و هم با تابع Hyperlink در اکسل. مزیت استفاده از تابع اینه که هم براحتی قابل انتقال هست و هم با با برخی تغییرات سازگار هست. در این مقاله به تشریح تابع Hyperlink می پردازیم.
تابع Hyperlink دو آرگومان داره:
Link_Location: مسیری که فایل مورد نظر در آن ذخیره شده است.
[Friendly_Name]: کلمه ای که میخوایم بصورت لینک نمایش داده بشه. اگر این آرگومان خالی گذاشته بشه، کل مسیر (آرگومان اول) به عنوان نام لینک نمایش داده خواهد شد.
مثال: فرض کنید فولدری حاوی فاکتورهای فروش داریم. میخواهیم لیستی از این فاکتورها در اکسل داشته باشیم که با کلیک بر روی هر کدوم، فاکتور مربوط به اون باز بشه. برای این کار مراحل زیر رو انجام میدیم:
مرحله اول:
مطابق شکل ۱ در یک ستون همه شماره فاکتورها رو وارد میکنیم.

شکل ۱- لینک به فایل با استفاده تابع Hyperlink در اکسل
مرحله دوم:
همه فاکتورها رو در یک فولدر قرار میدیم و آدرس فولدر رو از طریق کلیک راست بر روی یکی از فاکتورها و گزینه Properties بدست میاریم. (شکل ۲)

شکل ۲- فراخوانی مسیر ذخیره فاکتورها با استفاده از تابع Hyperlink در اکسل
مرحله سوم:
حالا باید مسیر رو داخل تابع بنویسیم. مطابق شکل ۴، مسیر فایل رو در آرگومان اول تابع قرار میدیم.
دقت کنید اول باید آدرس رو کامل کنیم. یعنی مشخص کنیم هر سلول مال کدوم شماره فاکتور هست. کافیه مسیری رو که از Properties برداشتیم رو با یک \ و یکی از سلول هایی که حاوی شماره فاکتور هست وصل کنیم. نکته خیلی مهم پسوند فایل هست که حتما باید به ادامه آدرس سلول اضافه بشه، .PDF ،JPG و یا هر پسوند دیگری. همه اینها رو با & به هم وصل میکنیم. توجه داشته باشید که قسمت های متنی همیشه باید داخل ” ” قرار بگیرند.
“C:\Users\Saman\Desktop\Sales\Factors”&”\”&B2&”.jpg”
نکته:
اگر پسوند رو تعیین نکنیم، با خطای شکل ۳ مواجه میشیم.

شکل ۳- خطای تعیین نکردن پسوند فایل
حالا که آدرس رو کامل کردیم کافیه این آدرس رو در آرگومان اول تابع قرار بدیم.
=HYPERLINK(“C:\Users\Saman\Desktop\Sales\Factors”&”\”&B2&”.jpg”, B2)
آرگومان دوم هم همون شماره فاکتور (آدرس سلول حاوی شماره فاکتور) قرار میدیم که لینک با شماره فاکتور شناخته بشه.

شکل ۴- ایجاد لینک با تابع Hyperlink در اکسل
مرحله چهارم:
کافیه فرمول نوشته شده رو Drag کنیم. تا برای همه شماره فاکتورها اعمال بشه.
اگه بخواید فولدر رو منتقل کنید، کافیه فقط مسیر رو با توجه به جای جدید اصلاح کنید.
سوال: میتونید راه حلی پیشنهاد بدید که در صورت جابجا کردن فایل آدرس ها بصورت خودکار تغییر کنه و آپدیت بشه؟
نظرات و راه حل های خودتون رو در ادامه همین پست ثبت کنید
مقاله زیر رو هم مطالعه کنید:




سلام
آیا می توان برای بازکردن برخی از هایپر لینک ها پسورد تعریف کرد.
سلام
به صورت عادی ( حتی با استفاده از VBA) این کار تو اکسل امکان پذیر نیست (جا داره که این توانایی به اکسل اضافه بشه و یا رویدادهای مربوط به هایپرلینک بیشتر بشن که بشه با استفاده از VBA این چنین مسائل رو حل کرد).
اما شاید بتونید هایپرلینک های مهم رو تو یک شیت پنهان شده قرار بدید و برای نمایش اونها رمز قرار بدید.
پس در این صورت آبجکت داینامیک نمیتونیم داشته باشیم؟
خیر با تابع hyperlink امکانش نیست
از این تابع روی آبجکت نمیشه استفاده کرد؟
درود بر شما
برای آبجکت از همون ابزار hyperlink باید استفاده کنید
سلام ببخشید میشه بگید چجوری میشه ادرس رو که مشخص کردم ادرس رو توصفحه مخفی کنه- و نشون نده- فقط رو سلولی که ادرس رو مشخص کردم کلیک کنم به ادرس مربوط رفته فابل رو باز کنه
درود بر شما
با قسمت text to display متن رو کنترل کنید
میشه بیشتر راهنمایی کنید ممنون
اکر بخواهیم فقط فولدر باز بشه باید جطور باشه؟
برای فولدر کار نمیکنه!
درود بر شما
فرقی نمیکنه. آدرس رو تا اسم فولدر بدید. مثال:
C:\Users\h.khakzad\Desktop\Excel Master
خوب بعد درنهایت برای پس.ند چی باید بزنیم؟
درود بر شما
پسوند فایل رو میزنید
مشابه شکل، مثلا jpg. یا docx. و ….
نه منظورم اینه وقتی بخواهیم خود فایل رو هایپر لینک کنیم دیگه پی دی اف و … نیست که پسوند داشاه باشه برای پسوند چی باید بزنیم؟
هر فایلی پسوند داره. مثلا اکسل، .xlsx و ….
اگر منظورتون ایجاد هایپرلینک داخل خود فایل هست، اون نیاز به هایپرلینک نداره و نیاز به آدرس ذخیره هم نداره. کافیه اسم فایل و شیت استفاده بشه
با عرض سلام و خسته نباشید
من طبق آموزش شما پیش رفتم و پسوند فایل رو هم درست وارد کردم ولی با خطای شکل ۳ یعنی can’t open the specified file مواجه میشم. ممنون میشم بگین باید چیکار کنم
درود بر شما
به هر حال اسم فایل، پسوند، مسیر یکیش اشتباه داره. اشتباه حتی در حد یک Space کم و زیاد هم میتونه باشه.
دقت کنید.
یا اینکه ممکنه همچین فایلی با این مشخصات در اون مسیر وجود نداشته باشه.
ببینید من ی فولدر نامه دارم که داخلش کلی فولدر دیگه هست حالا میخام هر فولدر را داخل یک فایل اکسل که شماره نامه ها رو داخلش نوشتم هایپرلینک کنم. یعنی وقتی تو فایل اکسل میزنم رو شماره نامه ۱۰۰ فولدری که مربوط به نامه شماره ۱۰۰ هست باز بشه. داخل این فولدر چندتا فایل هست بنابراین من بخوام به خود فولدر لینک بشه نه فایل. واسه همین میگم برای قسمت پسوند چی باید بزنم؟ چون ارور میده
با فرض اینکه اسم فولدر مورد نظر sample باشه، این ادرس و بنویسید
نیازی به پسوند نداره
E:\NewFolder\sample
سوال: میتونید راه حلی پیشنهاد بدید که در صورت جابجا کردن فایل آدرس ها بصورت خودکار تغییر کنه و آپدیت بشه؟
برای اینکار با استفاده از تابع Cell و توابع متنی به راحتی امکانپذیر می باشد .
ببخشید میشه ی مثال بزنید تا من متوجه بشم اگر لینک و خود سلول مورد نظر در یک شیت هم باشند در مثالتون ممنون میشوم
درود بر شما
دقیقا درسته
جواب سوال شما هم اینه:
=Hyperlink("#A10","click")سلام
برای اینکه بتونیم آدرس رو هم تغییر بدیم بهتره تو یک سلول دیگه آدرس مسیر اصلی رو داشته باشیم و در تابع از آدرس اون سلول در بخش اول استفاده بشه و با جابجایی فایل فقط آدرس بیس رو کپی میکنیم و خودش تو فرمول ها اعمال میکنه
البته من برای داشبوردهایی که میسازم به این صورت عمل می کنم،حداقل بهتر از اینه که یهو کل لینکارو از دست بدم یا اینکه مجبور باشم کلی تغییرات تو ردیف های زیاد اعمال کنم.
درود بر شما
بله دقیقا درسته ولی باز هم این کار بصورت دستی انجام میشه و آدرس رو دستی کپی میکنید. تابعی هست که اینکار و میکنه. از اون باید استفاده بشه که عملیات کاملا خودکار انجام بشه.
موفق باشید
با سلام و احترام
ولی در روش استفاده از تابع Cell یک مشکل هست که در صورتی جوابگو هست که فایل ها همه داخل یک فولدر باشن ولی اگه این فولدر رو زیپ کنید و از داخل فایل زیپ خواسته باشیم لینک ها رو اجرا کنیم به مشکل بر خواهید خورد و فایل های لینک شده باز نخواهد شد .
سوال: میتونید راه حلی پیشنهاد بدید که در صورت جابجا کردن فایل آدرس ها بصورت خودکار تغییر کنه و آپدیت بشه؟
برای اینکار با استفاده از تابع Cell و توابع متنی به راحتی امکانپذیر می باشد .
بله دقیقا یکی از راهکارها استفاده از تابع Cell هست