ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
6 visibility
موضوع: آفیس توسط:

استیو دارای طیف وسیعی از سلول ها (A1:A10) است که حاوی آدرس های وب سایت است - برای مثال www.example.com. او نمی داند که آیا می توان در یک ماکرو، هر یک از این آدرس ها را در یک مرورگر به طور هم زمان در تب های جداگانه مرورگر باز کرد.

چند راه وجود دارد که می توانید به این کار نزدیک شوید، و اینکه کدام یک را انتخاب می کنید تا حد زیادی به ماهیت داده های کاربرگ شما بستگی دارد. اگر سلول ها حاوی لینک های فعال هستند (آنهایی که اگر روی آنها کلیک کنید، آدرس در مرورگر باز می شود)، می توانید از یک ماکرو نسبتا ساده استفاده کنید:

Sub FollowHyperlinks1()
    Dim MyRange As Range
    Dim hl As Hyperlink

    On Error Resume Next
    Set MyRange = Range("A1:A10")
    For Each hl In MyRange.Hyperlinks
        hl.Follow
    Next hl
End Sub

ماکرو به سادگی به تمام لینک های موجود در محدوده A1:A10 نگاه می کند و از روش Follow برای باز کردن هر یک از آنها در مرورگر پیش فرض شما استفاده می کند. به دلیل روشی که سیستم عامل شما اطلاعات را از اکسل به مرورگر شما منتقل می کند، بهتر است قبل از اجرای ماکرو مرورگر خود را باز کنید. دلیل این امر به این دلیل است که، در آزمایش، متوجه شدیم که ممکن است در نهایت دو نمونه از مرورگر باز شود، با برخی از آدرس ها در یک نمونه و برخی در نمونه دیگر. این ظاهراً به دلیل تاخیر در باز کردن اولین نمونه مرورگر رخ می دهد. اگر مرورگر قبل از اجرای ماکرو باز باشد، هیچ تاخیری وجود ندارد و هر آدرس در یک تب متفاوت از همان نمونه مرورگر باز می شود.

اگر آدرس های کاربرگ شما ممکن است لینک های فعال نباشند، نمی توانید به استفاده از مجموعه Hyperlinks برای محدوده تکیه کنید. در عوض، باید به مقدار هر سلول در محدوده نگاه کنید:

Sub FollowHyperlinks2()
    Dim MyRange As Range
    Dim cell As Range
    Dim sTemp As String

    On Error Resume Next
    Set MyRange = Range("A1:A10")
    For Each cell In MyRange
        sTemp = cell.Value
        ThisWorkbook.FollowHyperlink Address:=sTemp
    Next cell
End Sub

این رویکرد از روش FollowHyperlink برای بارگذاری آدرس در متغیر sTemp استفاده می کند. در این مورد، فرقی نمی کند که محتویات سلول ها لینک های فعال هستند یا خیر. کد همچنان سعی می کند آنها را در مرورگر باز کند.

در نهایت، اگر ممکن است داده های شما حاوی آدرس های کاملاً واجد شرایط نباشد، همچنان باید از رویکرد دیگری استفاده کنید. به عنوان مثال، استیو به داشتن آدرس هایی مانند www.example.com در کاربرگ اشاره کرد، اما چنین آدرسی با نمونه های تا کنون کار نخواهد کرد. اگر در ابتدا داده های شما http:// وجود ندارد (یا نوع دیگری مانند https://)، پس کد آدرس را در مرورگر باز نمی کند. اگر داده های شما این ویژگی را دارند، یک تغییر جزئی در ماکرو لازم است:

Sub FollowHyperlinks3()
    Dim MyRange As Range
    Dim cell As Range
    Dim sTemp As String

    On Error Resume Next
    Set MyRange = Range("A1:A10")
    For Each cell In MyRange
        sTemp = cell.Value
        If InStr(sTemp, "://") = 0 Then
            sTemp = "http://" & sTemp
        End If
        ThisWorkbook.FollowHyperlink Address:=sTemp
    Next cell
End Sub

توجه داشته باشید که این مثال محتویات sTemp را بررسی می کند تا ببیند آیا کاراکترهای "://" درون آن وجود دارد یا خیر. اگر نه، پیشوند http:// به محتویات سلول اضافه می شود و اکسل سعی می کند از روش FollowHyperlink برای باز کردن آدرس تغییر یافته استفاده کند.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

70 نفر آنلاین
0 عضو و 70 مهمان در سایت حاضرند
بازدید امروز: 18274
بازدید دیروز: 8462
بازدید کل: 15428963
...