본문 바로가기
Worksheet object

Hyperlinks 속성

2023. 9. 3.

Worksheet.Hyperlinks property

워크시트의 하이퍼링크를 나타내는 Hyperlinks 컬렉션을 반환합니다.

 

Syntax

expression.Hyperlinks

 

expression Worksheet 개체를 나타내는 변수입니다.

 

다음은 워크시트 1의 하이퍼링크에 “Microsoft”라는 단어가 있는지 여부를 확인하는 예제입니다.

For Each h in Worksheets(1).Hyperlinks 
 If Instr(h.Name, "Microsoft") <> 0 Then h.Follow 
Next

Worksheet.Hyperlinks 속성은 Hyperlinks 개체와 연관이 있으므로 같이 설명합니다.

Hyperlinks 개체

워크시트나 범위의 하이퍼링크 컬렉션을 나타냅니다.

속성

Application property

개체 한정자 없이 사용할 경우 Microsoft Excel 응용 프로그램을 나타내는 Application 개체를 반환합니다.

개체 한정자와 함께 사용할 경우에는 지정한 개체의 작성자를 나타내는 Application 개체를 반환합니다.

OLE 자동화 개체와 함께 이 속성을 사용하면 해당 개체의 응용 프로그램을 반환할 수 있으며 읽기 전용입니다.

 

Syntax
expression.Application

 

expression : Hyperlinks 개체를 나타내는 변수입니다.

다음 코드는 응용 프로그램 이름을 출력합니다.

Sub TestHyperlinkApplication()
    Dim ws As Worksheet
    
    ' Sheet1 워크시트를 ws 변수에 할당
    Set ws = Sheet1
    
    ' ws 변수에서 Hyperlinks 개체를 통해 응용 프로그램 이름을 출력
    Debug.Print ws.Hyperlinks.Application.Name
    
    ' 변수 해제
    Set ws = Nothing
End Sub

' Output
' Microsoft Excel

Count property

컬렉션의 개체 수를 나타내는 Long 값을 반환합니다.

 

Syntax
expression.Count

 

expression : Hyperlinks 개체를 나타내는 변수입니다.

 

예제

 

1. 특정 시트에 있는 모든 하이퍼링크 개수 출력하기

Sub PrintHyperlinkCountInWorksheet()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    Debug.Print "Sheet1에 있는 하이퍼링크 수: " & ws.Hyperlinks.Count

End Sub

 

2. 특정 범위에 있는 하이퍼링크 개수 출력하기

Sub PrintHyperlinkCountInRange()
    Dim rng As Range
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:A10")
    
    Debug.Print "A1:A10 범위 내의 하이퍼링크 수: " & rng.Hyperlinks.Count

End Sub

Creator property

이 개체가 생성된 애플리케이션을 나타내는 32비트 정수를 반환합니다. 읽기 전용인 Long 형식입니다.

 

Syntax
expression.Creator

 

expression : Hyperlinks 개체를 나타내는 변수입니다.

비고
Microsoft Excel에서 개체를 만든 경우 16진수 5843454C와 같은 XCEL 문자열을 반환합니다. Creator 속성은 Macintosh용 Microsoft Excel에서 사용하도록 설계되었으며 각각의 응용 프로그램에는 4문자로 된 작성자 코드가 있습니다. 예를 들어 Microsoft Excel의 작성자 코드는 XCEL입니다.

 

Sub GetHyperlinkCreator()
    Dim ws As Worksheet
    
    Set ws = Sheet1
    
    Debug.Print ws.Hyperlinks.Creator
    
    Set ws = Nothing
End Sub

' Output
' 1480803660

Item property

컬렉션에서 단일 개체를 반환합니다.

 

Syntax
expression.Item (Index)

 

expression : Hyperlinks 개체를 나타내는 변수입니다.

 

매개변수

Index : 필수입니다. 개체의 이름이나 인덱스 번호입니다.(데이터 형식 : Variant)

 

예제

 

1. 하이퍼링크가 존재할 경우 n번째 하이퍼링크의 주소를 출력

Sub PrintSecondHyperlinkAddress()
    Dim ws As Worksheet

    Set ws = Worksheets("Sheet1")
    If ws.Hyperlinks.Count > 0 Then
        Debug.Print ws.Hyperlinks(2).Address
    else
    End If
    
    Set ws = Nothing
End Sub

 

2. 하이퍼링크가 존재하는 경우 웹으로 열기

Sub FollowRandomHyperlink()
    Dim ws As Worksheet

    Set ws = Worksheets("Sheet1")
    If ws.Hyperlinks.Count > 0 Then
        ws.Hyperlinks(1).Follow
    Else
    End If

    Set ws = Nothing
End Sub

Parent property

지정한 개체의 부모 개체를 반환하며 읽기 전용입니다.

 

Syntax
expression.Parent

 

expression : Hyperlinks 개체를 나타내는 변수입니다.

 

예제

Sub GetHyperlinkParentName()
    Dim ws As Worksheet
    
    Set ws = Sheet1
    
    ' ws 변수에서 Hyperlinks 개체를 통해 부모 개체(워크시트)의 이름을 출력
    Debug.Print ws.Hyperlinks.Parent.Name
    
    ' 변수 해제
    Set ws = Nothing
End Sub

' Output
' Sheet1

메서드

Add method

지정한 범위나 도형에 대한 하이퍼링크를 추가합니다.

 

Syntax
expression.Add (Anchor, Address, SubAddress, ScreenTip, TextToDisplay)

 

Anchor : 필수입니다. 하이퍼링크에 대한 앵커입니다.RangeShape 개체를 사용할 수 있습니다.(데이터 형식 : Object)

Address : 필수입니다. 하이퍼링크의 주소입니다.

SubAddress : 하이퍼링크의 하위 주소입니다.

ScreenTip : 마우스 포인터를 하이퍼링크 위에 올리면 표시될 스크린 팁입니다.

TextToDisplay : 하이퍼링크로 표시될 텍스트입니다.

 

반환 값
새 하이퍼링크를 나타내는 Hyperlink 개체입니다.

 

비고
TextToDisplay 인수 지정 시 텍스트는 문자열이어야 합니다.

예제

 

다음 코드는 하이퍼링크 만드는 법을 보여줍니다.

Sub AddHyperlink()
    Dim ws As Worksheet
    Dim rng As Range
    Dim hyperlinkAddress As String
    Dim hyperlinkScreenTip As String
    Dim hyperlinkTextToDisplay As String
    
    ' 워크시트를 Worksheets(1)에 할당
    Set ws = Worksheets(1)
    
    ' 하이퍼링크 정보 설정
    hyperlinkAddress = "https://www.microsoft.com"
    hyperlinkScreenTip = "Microsoft Web Site"
    hyperlinkTextToDisplay = "Microsoft"
    
    ' A1 셀에 하이퍼링크 추가
    Set rng = ws.Range("A1")
    ws.Hyperlinks.Add _
        Anchor:=rng, _
        Address:=hyperlinkAddress, _
        ScreenTip:=hyperlinkScreenTip, _
        TextToDisplay:=hyperlinkTextToDisplay
    
    Set ws = Nothing
    Set rng = Nothing
End Sub

Delete method

개체를 삭제합니다.

 

Syntax
expression.Delete

 

expression : Hyperlinks 개체를 나타내는 변수입니다.

 

비고
지정된 하이퍼링크 객체에서 삭제 메서드를 호출하는 것은 홈 탭의 편집 섹션에 있는 지우기 드롭다운 목록에서 하이퍼링크 지우기 및 서식 지우기 명령을 모두 사용하는 것과 동일합니다. 하이퍼링크만 제거되는 것이 아니라 셀 서식도 제거됩니다. 하이퍼링크만 제거하려면 Range.ClearHyperlinks 메서드를 사용합니다.

 

위 명령을 매크로 기록한 코드입니다.

Sub Macro1()
'
' Macro1 Macro
'

'
    Range("A1:A2").Select
    Selection.Hyperlinks.Delete
End Sub

조금 다듬은 코드입니다.

Sub DeleteHyperlink()
    Dim ws As Worksheet
     
    ' 워크시트를 Worksheets(1)에 할당
    Set ws = Worksheets(1)
    
    ' 하이퍼링크 삭제
    ws.Hyperlinks.Delete
    
    Set ws = Nothing
End Sub

 

도움말 출처

 

 

Hyperlinks object (Excel)

Office VBA reference topic

learn.microsoft.com

 

'Worksheet object' 카테고리의 다른 글

Worksheet.Name속성  (0) 2023.09.06
시트 삭제하기  (0) 2023.09.05
Columns 속성  (0) 2023.09.03
CodeName 속성  (0) 2023.09.03
Cells 속성  (0) 2023.09.02