[259회 라이브 공지] 이번 주(3/14) 토요일 라이브는 휴강입니다. 즐거운 주말 연휴 보내세요! 오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 x 카카오톡 문자 보내기, 1분이면 설정 완료!

엑셀 사용자지정함수를 사용하여 엑셀로 카카오톡 문자를 보내는 방법을 알아봅니다.

# VBA

작성자 :
오빠두엑셀
최종 수정일 : 2024. 10. 11. 20:31
URL 복사
메모 남기기 : (132)

엑셀 카카오톡 문자 보내기, 1분이면 설정 완료!

엑셀 카카오톡 문자 보내기 목차 바로가기
영상강의



🚨 중요 알림 🚨

2024년 10월 8일 카카오톡 업데이트 이후 문자 전송 방식이 변경되어
이번 강의에서 소개해드린 매크로는 사용할 수 없습니다.
이후 업데이트는 '카카오톡 문자 발송 자동화 서식'을 통해 제공할 예정이니 참고해주세요!

  • ✨ 엑셀 카카오톡 문자보내기 자동화 서식
    회원자료

엑셀 카카오톡 문자 보내기 단계별 알아보기

1. 엑셀 새로운 매크로 모듈 추가하기

  1. 카카오톡 문자 보내기를 수행할 엑셀 파일을 실행합니다. (윈도우 XP 이상, 엑셀 2007 이상 버전이면, 어디서든 사용 가능합니다.)

    엑셀 카카오톡 문자 보낼 파일 실행
    엑셀 카카오톡 문자 보내기를 추가할 파일을 실행합니다.
  2. 화면 상단의 '개발도구' - '매크로' 를 클릭, 또는 단축키 키보드 Alt+ F11를 눌러 매크로 편집창으로 이동합니다.
    상단의 개발도구가 안 보이실 경우, 아래 개발도구 활성화 방법 포스트를 참고하세요.

    엑셀 매크로 편집창 이동
    '개발도구' - 'Visual Basic'을 클릭하여 매크로 편집창으로 이동합니다.
  3. 매크로 편집창 상단의 '삽입' - '모듈' 을 클릭하여 새로운 모듈을 삽입합니다.

    새로운 모듈 삽입
    '삽입' - '모듈'로 새로운 모듈을 삽입합니다.
  4. 아래 명령문을 복사하여 붙여넣기 합니다.

    카카오톡 최신버전을 사용중이실 경우, 아래 명령문의 RichEdit20W 을 RichEdit50W로 변경해주세요.

    Option Explicit
     
    #If VBA7 Then
    ' https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-findwindowa
    Private Declare PtrSafe Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
                                                            (ByVal lpClassName As String, _
                                                            ByVal lpWindowName As String) As Long
    ' https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-findwindowexa
    Public Declare PtrSafe Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" _
                                                                (ByVal hwndParent As Long, _
                                                                ByVal hwndChildAfter As Long, _
                                                                ByVal lpszClass As String, _
                                                                ByVal lpszWindow As String) As Long
    ' https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessagea
    Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" _
                                                                (ByVal hwnd As Long, _
                                                                ByVal wMsg As Long, _
                                                                ByVal wParam As Long, _
                                                                ByRef lParam As Any) As Long
    'https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-postmessagea
    Private Declare PtrSafe Function PostMessage Lib "user32" Alias "PostMessageA" _
                                                                (ByVal hwnd As Long, _
                                                                ByVal wMsg As Long, _
                                                                ByVal wParam As Long, _
                                                                ByRef lParam As Any) As Long
    #Else
    ' https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-findwindowa
    Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
                                                            (ByVal lpClassName As String, _
                                                            ByVal lpWindowName As String) As Long
    ' https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-findwindowexa
    Public Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" _
                                                                (ByVal hwndParent As Long, _
                                                                ByVal hwndChildAfter As Long, _
                                                                ByVal lpszClass As String, _
                                                                ByVal lpszWindow As String) As Long
    ' https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessagea
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                                                                (ByVal hwnd As Long, _
                                                                ByVal wMsg As Long, _
                                                                ByVal wParam As Long, _
                                                                ByRef lParam As Any) As Long
    'https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-postmessagea
    Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
                                                                (ByVal hwnd As Long, _
                                                                ByVal wMsg As Long, _
                                                                ByVal wParam As Long, _
                                                                ByRef lParam As Any) As Long
    #End If
     
    Sub Send_Kakao(Target As Range, Msg As Range)
     
    Dim SendTo$: SendTo = Target.Value
    Dim Message$: Message = Msg.Value
     
    Dim hwnd_KakaoTalk As Long: Dim hwnd_RichEdit As Long
    Const WM_SETTEXT = &HC: Const WM_KEYDOWN = &H100
    Const WM_KEYUP = &H101: Const VK_RETURN = &HD
     
    hwnd_KakaoTalk = FindWindow(vbNullString, SendTo)
    hwnd_RichEdit = FindWindowEx(hwnd_KakaoTalk, 0, "RichEdit50W", vbNullString)
    ' PC 카톡버전 Ver. 3.1.2.2472 이전 버전을 사용중일 경우 RichEdit50W 을 RichEdit20W 로 수정해주세요.
     
    If hwnd_RichEdit = 0 Then MsgBox SendTo & "의 채팅창이 실행되었는지 확인하세요.": Exit Sub
     
    Call SendMessage(hwnd_RichEdit, WM_SETTEXT, 0, ByVal Message)
    Call PostMessage(hwnd_RichEdit, WM_KEYDOWN, VK_RETURN, 0)
     
    End Sub

2. 원하는 시트 모듈에 명령문 추가하기

  1. 매크로 편집창의 'Microsoft Excel 개체'를 확인합니다. 현재 실행중인 엑셀파일의 모든 시트가 나열되어 있습니다.

    엑셀 카카오톡 보낼 시트 확인
    'Microsoft Excel 개체' 에서 시트목록을 확인합니다.
  2. 원하는 시트를 더블클릭하여 시트모듈로 이동합니다.

    시트 모듈로 이동
    카카오톡 명령문 보내기를 실행할 시트 모듈로 이동합니다.
  3. 아래 명령문을 복사하여 시트 모듈에 붙여넣기 합니다.
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim 사용자명 As String: 사용자명 = "A1"        '<<- 사용자명이 입력된 셀 주소를 입력하세요.
    Dim 보낼메세지 As String: 보낼메세지 = "A1"    '<<- 보낼메세지가 입력된 셀주소를 입력하세요.
     
    If Target.Address(False, False) = 사용자명 Or Target.Address(False, False) = 보낼메세지 Then
        Send_Kakao Range(사용자명), Range(보낼메세지)
    End If
     
    End Sub
  4. 해당 시트에서, '사용자명' 과 '보낼 메세지'를 입력할 셀 주소를 확인합니다.

    엑셀 카카오톡 문자 보낼 셀 확인
    사용자명과 보낼메세지를 입력할 셀 주소를 확인합니다.
  5. 시트 모듈에 붙여넣기 한 명령문의 '사용자명' 그리고 '보낼메세지'의 값을 각각의 셀 주소로 변경합니다.

    사용자명 및 보낼메세지 변수 수정
    명령문의 '사용자명', '보낼메세지' 값을 각각 수정합니다.
  6. 시트로 돌아온 뒤, 사용자명과 보낼메세지의 값을 입력하면 해당 사용자에게 카카오톡 메세지가 전송됩니다.
    (단, 사용자의 카카오톡 창은 백그라운드에서 실행중이여야만 합니다.)

    엑셀 카카오톡 문자 보내기 완료
    시트에 내용을 입력하면 사용자에게 카카오톡 문자가 전송됩니다.
  7. 작성한 파일은 반드시 '매크로 사용 통합문서(*.xlsm)' 로 저장하셔야 이후에도 카카오톡 문자보내기 기능을 사용할 수 있습니다.

    매크로 사용 통합문서 저장
    작성된 파일은 매크로사용 통합문서로 저장합니다.
  8. 또한 이후 파일 실행시 엑셀 창 상단의 [콘텐츠 사용] 버튼을 클릭하여 포함된 매크로를 활성화합니다.

    엑셀 매크로 활성화
    이후 파일 실행시 '콘텐츠 사용' 버튼을 클릭하여 포함된 매크로를 활성화합니다.
3. 명령문 동작원리 알아보기
  1. 사용된 윈도우 User32 라이브러리 함수 목록
    함수명 설명(관련 링크)
    FindWindowA 함수 실행중인 프로그램의 Class 또는 창 이름으로 검색하여 hWnd 값을 반환합니다.
    https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-findwindowa
    FindWindoeEX 함수 실행중인 특정 프로그램 안의 또 다른 개체를 Class 명으로 검색하여 해당 개체의 hWnd 값을 반환합니다.
    https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-findwindowexa
    SendMessageA 함수 지정한 hWnd 창에 특정 메세지를 전달합니다. (결과값이 반환될 때까지 기다린 뒤 값을 동기화합니다.)
    https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessagea
    PostMessageA 함수 지정한 hWnd 창에 특정 메세지를 전달합니다. (결과값을 기다리지 않고 바로 다음 동작을 수행합니다.)
    https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-postmessagea
  2. 변수를 설정합니다.
    변수 (데이터타입) 설명
    SendTo, Message (String) 사용자명과 보낼 메세지입니다.
    hwnd_KakaoTalk,
    hwnd_RichEdit (Long)
    지정한 사용자의 카카오톡 채팅방과 편집창의 창번호 고유값입니다.
    WM_SETTEXT, WMKEYDOWN
    WM_KEYUP, VK_RETURN (Double)
    각각의 키보드(또는 가상키) 고유값입니다.
  3. 지정한 사용자명의 카카오톡 채팅방, 그리고 편집창의 고유값을 받아옵니다.
    ' 카카오톡 채팅방과 편집창의 고유값을 반환합니다.
    hwnd_KakaoTalk = FindWindow(vbNullString, SendTo)
    hwnd_RichEdit = FindWindowEx(hwnd_KakaoTalk, 0, "RichEdit20W", vbNullString)
  4. 만약 편집창으로 받아온 값이 없을 경우(=0), "~~의 채팅창이 실행되었는지 확인하세요." 라는 안내메세지를 출력 후 명령문을 종료합니다.
    ' 편집창으로 받아온 값이 없을 경우 안내메세지를 출력 후 명령문을 종료합니다.
    If hwnd_RichEdit = 0 Then MsgBox SendTo & "의 채팅창이 실행되었는지 확인하세요.": Exit Sub
  5. 해당 사용자에게 보낼 메세지를 전송 후 명령문을 종료합니다.
    ' 메세지 전송 후 명령문을 종료합니다.
    Call SendMessage(hwnd_RichEdit, WM_SETTEXT, 0, ByVal Message)
    Call PostMessage(hwnd_RichEdit, WM_KEYDOWN, VK_RETURN, 0)

자주 묻는 질문

1. 명령문을 제대로 입력하였는데도, 계속 오류 메세지가 출력됩니다.
  • 해당 명령문은 상대방의 카카오톡 채팅방이 '반드시' 백그라운드에서 실행중일때만 사용가능합니다. 상대방의 채팅창이 실행중인지 확인해보세요.
  • 또는 상대방의 이름에 '이모티콘'이 포함되어 있는지 확인해보세요. 이름에 '이모티콘'이 포함되어 있을 경우 명령문을 사용할 수 없습니다. 채팅창의 우측상단에 () 모양 아이콘을 클릭한 뒤, [채팅방설정]에서 사용자 이름을 변경할 수 있습니다.

    카카오톡 채팅방 설정
    채팅방 설정에서 사용자명을 변경할 수 있습니다.
2. 단톡방에도 사용할 수 있나요?
  • 단톡방에서도 사용할 수 있습니다. 단톡방에 표시되는 이름을 사용자명으로 입력해주세요.
3. 메세지를 보낸 뒤, 보낸 메세지를 초기화하고 싶습니다. 어떻게 해야 하나요?
  • 메세지를 전송한 후, 보낼메세지를 초기화 하고 싶을 경우, 시트모듈에 들어가는 명령문을 아래와 같이 수정해주세요.
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim 사용자명 As String: 사용자명 = "A1"        '<<- 사용자명이 입력된 셀 주소를 입력하세요.
    Dim 보낼메세지 As String: 보낼메세지 = "A1"    '<<- 보낼메세지가 입력된 셀주소를 입력하세요.
     
    If Target.Address(False, False) = 사용자명 Or Target.Address(False, False) = 보낼메세지 Then
        Send_Kakao Range(사용자명), Range(보낼메세지)
        ' 보낼메세지를 초기화합니다.
        Range(보낼메세지).Value = ""
    End If
     
    End Sub
4. 엔터를 입력한 뒤, 보낼메세지 셀로 자동으로 포커싱을 하려면 어떻게 해야 하나요?
  • 엔터를 입력한 뒤, 보낼 메세지 셀로 자동으로 포커싱을 하려면 명령문의 'Send_Kakao Range(사용자명), Range(보낼메세지)' 뒤에 아래 명령문을 추가해주세요.
    If Target.Address(False, False) = 사용자명 Or Target.Address(False, False) = 보낼메세지 Then
        Send_Kakao Range(사용자명), Range(보낼메세지)
        ' 보낼메세지 셀을 선택합니다.
        Range(보낼메세지).Select
    End If
5. 여러명에게 동시에 메세지를 보내려면 어떻게 해야 하나요?
  • 여러명에게 동시에 메세지를 전송하려면 시트모듈을 아래와 같이 수정합니다. '보낼메세지'의 값이 변경될 경우 모든 사용자에게 동일한 메세지가 전송됩니다.
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim 사용자명 As String: 사용자명 = "A1:A10"        '<<- 사용자명이 입력된 넓은 범위를 입력하세요.
    Dim 보낼메세지 As String: 보낼메세지 = "A1"    '<<- 보낼메세지가 입력된 셀주소를 입력하세요.
    Dim Rng As Range
     
    If Target.Address(False, False) = 보낼메세지 Then
        ' 사용자명 범위의 셀을 하나씩 돌아가며 각각의 사용자에게 메세지를 전송합니다.
        For Each Rng In Range(사용자명)
            ' 사용자명이 빈칸이 아닐 경우에만 메세지를 전송합니다.
            If Rng.Value <> "" Then Send_Kakao Rng, Range(보낼메세지)
        Next
    End If
     
    End Sub
6. 메세지 발송 성공/실패 여부를 출력하려면 어떻게 해야 하나요?

메세지 전송 성공/실패 여부를 다른 셀에 출력하려면 명령문을 아래와 같이 수정해주세요.

Send_KaKao 명령문

Sub Send_Kakao(Target As Range, Msg As Range, Result As Range)
 
Dim SendTo$: SendTo = Target.Value
Dim Message$: Message = Msg.Value
 
Dim hwnd_KakaoTalk As Long: Dim hwnd_RichEdit As Long
Const WM_SETTEXT = &HC: Const WM_KEYDOWN = &H100
Const WM_KEYUP = &H101: Const VK_RETURN = &HD
 
hwnd_KakaoTalk = FindWindow(vbNullString, SendTo)
hwnd_RichEdit = FindWindowEx(hwnd_KakaoTalk, 0, "RichEdit20W", vbNullString)
 
If hwnd_RichEdit = 0 Then
    MsgBox SendTo & "의 채팅창이 실행되었는지 확인하세요."
    Result.Value = "[채팅창을 확인하세요]"
    Exit Sub
End If
 
Call SendMessage(hwnd_RichEdit, WM_SETTEXT, 0, ByVal Message)
Call PostMessage(hwnd_RichEdit, WM_KEYDOWN, VK_RETURN, 0)
 
Result.Value = "[완료] " & SendTo & "," & Left(Message, 4) & "..."
 
End Sub

시트 모듈 명령문

Private Sub Worksheet_Change(ByVal Target As Range)
 
Dim 사용자명 As String: 사용자명 = "A1"        '<< - 사용자명이 입력된 셀 주소를 입력하세요.
Dim 보낼메세지 As String: 보낼메세지 = "A1"    '<< - 보낼메세지가 입력된 셀주소를 입력하세요.
Dim 결과출력 As String: 결과출력 = "A1"        '<< - 결과를 출력할 셀 주소를 입력하세요
 
If Target.Address(False, False) = 사용자명 Or Target.Address(False, False) = 보낼메세지 Then
    Send_Kakao Range(사용자명), Range(보낼메세지), Range(결과출력)
End If
 
End Sub
7. 메시지 발송 전 확인창을 띄우려면 어떻게 해야 하나요?

메세지 발송 전 '정말로 메세지를 보내겠습니까?' 확인창을 띄운 뒤, 메세지를 전송하려면 시트모듈 명령문을 아래와 같시 수정합니다.

Private Sub Worksheet_Change(ByVal Target As Range)
 
Dim 사용자명 As String: 사용자명 = "A1"        '<<- 사용자명이 입력된 셀 주소를 입력하세요.
Dim 보낼메세지 As String: 보낼메세지 = "A1"    '<<- 보낼메세지가 입력된 셀주소를 입력하세요.
Dim YN As VbMsgBoxResult
 
If Target.Address(False, False) = 사용자명 Or Target.Address(False, False) = 보낼메세지 Then
    YN = MsgBox("정말로 메세지를 보내시겠습니까?", vbYesNo)
    If YN = vbYes Then
        Send_Kakao Range(사용자명), Range(보낼메세지)
    End If
End If
 
End Sub
8. 잘 사용 중 이였는데, 갑자기 메세지 발송이 안됩니다.

2020년 5월, 카카오톡 버전이 업데이트 되면서 채팅창에 사용된 hWnd 값이 변경되었습니다.

따라서 사용중인 PC 카카오톡의 버전이 Ver. 3.1.2.2472 이상이라면, hWnd 값(hwnd_RichEdit) 수정이 필요합니다. 수정이 필요한 부분은 카카오톡 보내기 명령문 안에 적어드렸습니다.

댓글 132
5 (73개 평가)
엑린이
엑린이 2020.04.08 20:54
대박입니다!! 근데 저는 엑셀로 보내면 카카오창이 없어지는데 어떻게 동시에 볼수 있나요?
오빠두엑셀
오빠두엑셀 작성자 2020.04.08 21:12
안녕하세요!^-^
혹시 엑셀창을 최대화하셨나요?
그러실경우, 엑셀 창을 약간 작게 만드신 뒤, 카카오톡창을 옆에 빈 공간으로 옮긴 뒤 메세지를 보내보시길 바랍니다^-^
감사합니다.
엑린이
엑린이 2020.04.08 21:14
네 좀 작게하니깐 되네요 감사합니다!
슬라교정
슬라교정 2020.04.09 04:18
대박입니다. ㅎㅎ 감사
연선
연선 2020.04.09 08:48
명령문 복사하고 다 했는데... 창도 반반사이즈로 했는데... 안되네요.. ㅠㅠ
오빠두엑셀
오빠두엑셀 작성자 2020.04.09 16:22
안녕하세요!^^
어떤 오류 메세지가 출력되시나요? 또는 사용중인 PC 버전이 어떻게 되시나요?
어떤 오류가 발생하는지 자세히 말씀해주시면 확인 후 답변드리겠습니다.
감사합니다!
정루이스
정루이스 2020.04.09 10:15
왕~~~~!!! 완전 대박입니다... ㅠㅠ 감격..ㅠㅠ 근데 동영상과 같이 옆에 메세지 확인하는건 전 안나오더라고요..ㅠㅠ
오빠두엑셀
오빠두엑셀 작성자 2020.04.09 16:39
안녕하세요!^^
메세지 전송 성공/실패 여부를 출력하는 방법을 질문6에 수정된 명령문과 함께 작성해드렸으니 확인해보시겠어요?^^
https://www.oppadu.com/엑셀-카카오톡-문자-보내기/#q6
감사합니다!
들어가기
들어가기 2020.04.09 12:49
저장했다가 다시 열고하면 안되는데 왜그런걸까요?
오빠두엑셀
오빠두엑셀 작성자 2020.04.09 16:15
안녕하세요!^^*
파일을 저장하실 때 '매크로포함 워크시트(*.xlsm) 형식으로 저장해주셔야 합니다.
그리고 실행하실때에도 반드시 '매크로포함' 버튼을 눌러 포함된 매크로를 활성해주셔야 합니다.
감사합니다!
JMON
JMON 2020.04.09 13:39
진심으로 필요했던 기능인데!감사합니다!
황현지
황현지 2020.04.10 00:37
여러명에게 보내는거 영상파일 없나요 ??

구글 스프레스시트로는 만들수 없나요 ???
오빠두엑셀
오빠두엑셀 작성자 2020.04.10 18:00
안녕하세요?^^
여러명에게 보내는것도 가능합니다. Send_KAKAO 명령문을 응용하시면 되겠는데요.
기본적인 VBA 지식이 필요합니다.
시트의 A1 ~ A10셀에 보낼 사용자명을 입력하신 뒤, For문을 사용해서
For i = 1 to 10
Send_KAKAO Range("A"&i), Range(보낼메세지)
Next

형식으로 작성해보시기 바랍니다.
제시해드린 답변이 도움이 되셨길 바랍니다.
CHm
CHm 2020.04.10 02:29
대박 신기합니다. 몇가지 문의사항이 있습니다.
1.sendkakao 추가기능을 설치하였는데요, 엑셀을 실행할때마다 추가기능 엑셀파일이 열립니다.
2.강의내용 질문인데요, 여러 메시지를 보낼 때 열방향으로만 보내지는데요, 행방향으로 보낼 수 있을까요?
3.카톡으로 보내기 전에 확인창 띄워서 실수로 전송하는걸 막을 수 있을까요?
4.아, 그리구 가능하다면 내용을 모두 작성 후 전송버튼 같은걸 누르면 전송이 된다던가 하는 기능을 구현할 수 있을까요?
항상 좋은 강의 감사합니다^^
오빠두엑셀
오빠두엑셀 작성자 2020.04.10 18:09
안녕하세요?^^
1. 엑셀파일이 열린다는게 정확히 어떤 말씀이신가요? 추가기능을 설치하시면 BackGround에서 실행되는게 정상이고, 별도의 엑셀파일이 실행되실경우 추가기능 제거 후 다시 설치해보시기 바랍니다.
2. 행 방향으로도 보내실 수 있습니다 ^^ 명령문을 필요에따라 적절히 수정하셔야 하는데, 약간의 VBA 지식이 필요합니다.
3. 확인창을 띄운 뒤 메세지를 보내시려면 시트모듈을 아래와 같이 수정해보세요.
Private Sub Worksheet_Change(ByVal Target As Range)

Dim 사용자명 As String: 사용자명 = "A1" '<<- 사용자명이 입력된 셀 주소를 입력하세요.
Dim 보낼메세지 As String: 보낼메세지 = "A1" '<<- 보낼메세지가 입력된 셀주소를 입력하세요.
Dim YN As VbMsgBoxResult

If Target.Address(False, False) = 사용자명 Or Target.Address(False, False) = 보낼메세지 Then
YN = MsgBox("정말로 메세지를 보내시겠습니까?", vbYesNo)
If YN = vbYes Then
Send_Kakao Range(사용자명), Range(보낼메세지)
End If
End If

End Sub

4. 도형을 추가하신 뒤, 해당 도형에 매크로 지정을 해주시면 됩니다. 관련 내용은 이전 퀵VBA 강의에서 여러번 설명 드렸으니 이전강의 확인해보시면 도움이 되실겁니다.
제시해드린 답변이 도움이 되셨길 바랍니다.
감사합니다^^
빠끼
빠끼 2020.04.10 03:25
대박이네요
영도라이더
영도라이더 2020.04.10 13:21
정말! 정말! 감사합니다.
회사에서 일할때 카톡에 반복적인 복사/붙여넣기 했는데~
신계계를 경험하게 해주셨어요!!
우림맨두
우림맨두 2020.04.10 10:02
혹시 채팅창을 안키고는 불가능한거죠? 사진파일 전송은 불가능한가요?
오빠두엑셀
오빠두엑셀 작성자 2020.04.10 18:27
안녕하세요?^^
채팅창은 반드시 백그라운드에서 실행되어 있어야 합니다.
사진전송은 시트에서 사용되는 '함수' 형식으로는 구현이 불가능합니다. Send_KAKAO 명령문을 수정하신다면, 명령문 실행 형태로는 사진전송을 구현할 수 있습니다. 다만 VBA 관련 지식이 필요합니다.
답변이 도움이 되셨길 바랍니다.
감사합니다.
건주
건주 2020.11.07 14:35
사진전송 방법에 대해서 조금 자세하게 알려주실 수 있을까요?