배움터  
  HOME > 배움터 > Daily Tip
Daily Tip

제품:   Excel 버전:   공통
검색어:   메모삽입, 배경, 그림삽입
제목:   그림이 보이는 메모
     
 

  STEP> 따라하기
 

※ 오늘 Daily Tip은 곽승주님이 제공해주신 내용입니다.

오늘은 메모의 바탕색을 변경하거나 메모에 그림을 삽입하는 방법에 대해 알아보도록 하겠습니다.(사용버전: 공통)

보통 워크시트 메뉴에서 삽입 메뉴의 메모를 통하여 셀에 메모를 추가합니다.

또는 셀 단축메뉴에서 메모 삽입을 클릭하여 메모를 추가합니다.

그리고 추가된 메모에 대해 메모 편집, 메모 삭제, 메모 표시/숨기기 등의 명령을 사용할 수 있습니다.

메모는 워크시트의 셀 내용에 대해 간단한 설명을 하기 위한 것입니다. VBA에서 메모의 역할을 담당하는 것이 Comment 개체입니다. Comment개체는 비교적 간단한 개체로서 6가지의 속성(Application, Author, Parent, Shape, Visible) 4개 정도의 메서드(Delete, Next, Previous, Text)를 가지고 있습니다.

보통 메모에는 코끼리 이빨색(상아색) 바탕에 텍스트가 입력된 형태가 많습니다. 그러나 조금만 관심을 기울이면 메모 서식대화상자에서 메모의 바탕색을 변경할 수 있으며 색상의 농도를 조정하여 반투명한 메모를 만들 수 있습니다.

오피스 프로그래밍의 대가이신 물 건너 John Walkenbach 선상님(선생님)의 책을 인용하면 색상의 변경은 다음과 같은 코드를 통해 알 수 있습니다.

Worksheets(“Sheet1”).Comments(1).Shape.Fill.ForeColor.RGB
 = RGB(0, 255, 0)
(
메모 색상을 초록색으로 바꾸는 예)

색상의 농도 즉 투명도는 .Shape.Fill.Transparency = 0.5 하는 식으로 만듭니다. Transparency에 적용하는 값은 0.0(불투명)부터 1.0(투명)까지 입니다. 그러나 색상의 변경이나 투명도를 조정하는 것 외에 메모에는 배경그림을 삽입할 수 있습니다.  

Comment개체의 .Shape.Fill.UserPicture 메서드는 지정한 도형(Shape)을 이미지로 채우는 메서드입니다. 다음은 이러한 것을 응용하여 사용자로부터 메모에 삽입할 그림파일을 선택하게 하고 현재 셀에 이미 메모가 있다면 그림을 채우고 반투명하게 만듭니다. 그러나 메모가 없다면 메모를 새로 추가합니다.

Const ImgFileFormat = "Image Files (*.bmp;*.gif;*.tif;*.jpg;*.jpeg)," & _
   "*bmp;*gif;*.tif;*.jpg;*.jpeg" 

Sub AddPicturesToComments()
    Dim cmtUsed         As Comment
    Dim PicFile   

    // 그림파일은 선택하도록 한다
    PicFile = Application.GetOpenFilename(ImgFileFormat)

    // 취소했다면
    If PicFile = False Then End

    // 현재 셀의 메모를 cmtUsed에 저장
    Set cmtUsed = ActiveCell.Comment

    If Not cmtUsed Is Nothing Then
    //
현재 셀에 메모가 있다면
        With cmtUsed
            //
투명도를 반 투명으로
            .Shape.Fill.Transparency = 0.5

            // 그림파일을 삽입
            .Shape.Fill.UserPicture CStr(PicFile)
        End With
    Else
    //
현재 셀에 메모가 없다면 새로 메모 추가
        With ActiveCell
            .AddComment
            .Comment.Shape.Fill.Transparency = 0.5
            .Comment.Shape.Fill.UserPicture CStr(PicFile)
        End With
    End If

    Set cmtUsed = Nothing
End Sub

다음은 오피스튜터 나눔터의 오튜 앨범에 있는 그림을 하나 얻어와 메모에 삽입해 보았습니다.