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

Word به شما امکان می دهد در یک سند پیوندهایی را به یک سند خارجی یا به مکان های دیگر در سند فعلی ایجاد کنید. پیتر به دنبال راهی برای شمارش تنها پیوندهای داخلی در یک سند است و به این فکر می کند که آیا راهی برای انجام این کار وجود دارد یا خیر.

تنها راهی که می توانید این کار را انجام دهید این است که از یک ماکرو برای عبور از هر لینک در سند خود استفاده کنید. خوشبختانه این کار با بررسی عناصر مجموعه Hyperlinks به راحتی انجام می شود. هر شی Hyperlink دارای ویژگی های مختلفی است که بسته به ویژگی های پیوند می تواند تنظیم شود. ویژگی های Address و SubAddress اهمیت ویژه ای دارند.

ویژگی Address (همانطور که از نام آن پیداست) آدرس هدف پیوند است. معمولاً این چیزی شبیه یک URL است (مانند http://www.PCcloob.ir)، اما همچنین می تواند نام یک فایل در درایو قابل دسترسی از سیستم شما یا یک آدرس ایمیل (مانند mailto:allen) باشد. @sharonparq.com). از آنجایی که ویژگی Address می‌تواند چندین هدف داشته باشد، نمی‌توانید به طور خاص وجود کاراکترهایی مانند پیشوند «http» را بررسی کنید. اگر پیشوند گم شده باشد، پیوند همچنان می تواند خارج از سند فعلی باشد زیرا ممکن است به فایل دیگری در سیستم شما ارجاع دهد.

با این حال، یک نمونه وجود دارد که فیلد Address خالی است - اگر پیوند به یک نشانک در سند فعلی باشد. اگر خالی باشد، ویژگی SubAddress به نام نشانک مورد اشاره در پیوند تنظیم می شود. البته، اگر پیوند به یک نشانک خاص در سند دیگری باشد، هر دو ویژگی Address و SubAddress تنظیم خواهند شد.

برای دریافت ایده ای از اطلاعات ذخیره شده با هر شی Hyperlink، به ماکرو کوتاه زیر نگاهی بیندازید. از هر پیوند عبور می کند و اطلاعات مربوط به هر یک را نشان می دهد.

Sub LinkInfo()
    Dim h As Hyperlink
    Dim sTemp As String

    For Each h In ActiveDocument.Hyperlinks
        sTemp = h.TextToDisplay & vbCrLf
        sTemp = sTemp & h.Address & vbCrLf
        sTemp = sTemp & h.SubAddress
        MsgBox sTemp
    Next h
End Sub

بنابراین، ساده‌ترین روش برای تعیین تعداد پیوندهای داخلی در یک سند (به عبارت دیگر، پیوندها به نشانک‌های موجود در سند فعلی)، بررسی ویژگی Address هر شی Hyperlink است. اگر ملک خالی است، می توانید با خیال راحت فرض کنید که لینک داخلی است.

Sub InternalLinks1()
    Dim h As Hyperlink
    Dim lInternal As Long

    lInternal = 0
    If ActiveDocument.Hyperlinks.Count > 0 Then
        For Each h In ActiveDocument.Hyperlinks
            If h.Address = "" Then lInternal = lInternal + 1
        Next hp
    End If
    MsgBox lInternal & " hyperlinks are internal" _
      & " out of a total of " & ActiveDocument.Hyperlinks.Count
End Sub

اگر می‌خواهید فهرستی از اهداف واقعی پیوندهای داخلی را جمع‌آوری کنید، می‌توانید به راحتی به ماکرو اضافه کنید تا در حلقه For Every، به هر ویژگی SubAddress نگاه کنید و آن را به هر چیزی که در پایان نشان داده‌اید اضافه کنید. ماکرو

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

Sub InternalLinks2()
    Dim h As Hyperlink
    Dim lInternal As Long
    Dim lTotal As Long
    Dim aStory As Range

    lTotal = 0
    lInternal = 0
    For Each aStory In ActiveDocument.StoryRanges
        lTotal = lTotal + aStory.Hyperlinks.Count
        If aStory.Hyperlinks.Count > 0 Then
            For Each h In aStory.Hyperlinks
                If h.Address = "" Then lInternal = lInternal + 1
            Next h
        End If
    Next aStory
    MsgBox lInternal & " hyperlinks are internal" _
      & " out of a total of " & lTotal
End Sub
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

613 دیدگاه

10.8k کاربر

186 نفر آنلاین
0 عضو و 186 مهمان در سایت حاضرند
بازدید امروز: 10861
بازدید دیروز: 13001
بازدید کل: 19465155
...