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

اسناد ورد جیم دارای URL های زیادی هستند که لینک های فعال نیستند. هر URL با متن [lt] و [gt] "پرانتز" می شود. بنابراین، برای مثال، یک URL ممکن است به عنوان [lt]https:// ظاهر شود . www.PCcloob.ir[gt] جیم فکر می کند آیا راهی وجود دارد که یک ماکرو بتواند متن بین کدهای براکت را پیدا کند، از متن یافت شده یک لینک ایجاد کند و سپس کدهای براکت را حذف کند.

جستجوی چنین نمونه‌هایی در صورت استفاده از قابلیت‌های عام Find and Replace، کار آسانی است. تنها کاری که باید انجام دهید این است که «[lt]*[gt]» (بدون علامت نقل قول) را جستجو کنید و مطمئن شوید که مشخص کرده‌اید در حال انجام جستجوی عام است. بخش دشوار این است که از شر کدهای براکت خلاص شوید و هر آنچه بین آنها بود به یک لینک فعال تبدیل شود.

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

Sub AddHyperLinksAndClearBrackets()
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "[lt]*[gt]"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = True
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With

    Selection.Find.Execute
    Do While Selection.Find.Found
        Selection = Mid(Selection, 5, Len(Selection) - 8)
        ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _
          Address:=Selection, SubAddress:=""
        Selection.Find.Execute
    Loop
End Sub

توجه داشته باشید که هر زمان که مطابقت پیدا شد (در حلقه Do while)، دو دستور وجود دارد که بخش عمده کار را انجام می دهد. اولی این است:

        Selection = Mid(Selection, 5, Len(Selection) - 8)

این خط فرمان انتخاب را برابر با انتخاب منهای کدهای براکت آغاز و پایان قرار می دهد. در واقع، کدهای براکت را حذف می کند و هر آنچه در وسط بود باقی می ماند. این یک ترفند کوچک است که نیاز به انجام عملیات جستجو و جایگزینی جداگانه برای خلاص شدن از شر کدهای براکت را از بین می‌برد.

پس از حذف کدهای براکت، خط بعدی اجرا می شود:

        ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _
          Address:=Selection, SubAddress:=""

این خط انتخاب باقیمانده (که باید فقط یک لینک متنی باشد) را به یک لینک فعال تبدیل می کند.

ماکرو کوتاه، شیرین است و بسیار سریع اجرا می شود، صرف نظر از اینکه چند لینک کدگذاری شده در سند خود دارید.

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

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

613 دیدگاه

10.8k کاربر

103 نفر آنلاین
1 عضو و 102 مهمان در سایت حاضرند
اعضای حاضر در سایت
بازدید امروز: 8918
بازدید دیروز: 13001
بازدید کل: 19463213
...