본문 바로가기
카테고리 없음

[의뢰] 카톡보내기

by 일등미노왕국 2022. 7. 27.

의뢰자:

1. 카톡으로 자동으로 원하는 내용을 보내고 싶어요

2. https://www.youtube.com/watch?v=IDf03SSg79E 오빠두 강의를 토대로 만들어 주세요

3. 창이 열려져있는 상태가 아닌 닫혀있는 상태에서도 카톡이 발송되게 해주세요

 

일단 구성은 반자동으로 만들었다. 의뢰자에게 실제 전달은 자동과 반자동을 선택할 수 있도록 하였다.

비활성 매크로로 만드는 것도 가능하나 대화창을 모두 활성화 한 후 해야하기 때문에 활성 매크로로 진행하였다.

 

카톡을 보내는 소스는 공개가 힘들것 같아

 VBA 코드만 공개하도록 하겠다.

 

필요하신분들은 연락주길 010-5872-7179

더보기
Option Explicit

Sub 카카오톡문자보내기()

    Dim rngx As Range
    Dim rngA As Range
    Dim rngAll As Range
    
    If [B3] = "" Then Exit Sub                              '= 아무런 이름이 없으면 종료
    Set rngAll = Range([B2], [B2].End(4))                   '= 보낼 대상을rngAll 담아라
    
    For Each rngA In rngAll
        rngA = Trim(rngA)                                   '= 카톡이름 앞 뒤로 빈스페이스 삭제
    Next rngA
    
    If MsgBox("문자 형태의 데이터를 보내시겠습니까?", vbYesNo) = vbYes Then
        On Error GoTo haja
        
            Set rngx = Application.InputBox("발송할 영역을 선택하세요", "카카오톡발송", , , , , , 8)
        
        On Error GoTo 0
        
        [f4] = Replace(rngx.Address, "$", "")
        [f5] = "문자"
           
    End If
    
         If MsgBox("현재 파일 저장 후 문자 발송을 시작합니다." & vbCrLf & "진행할까요", vbYesNo) = vbYes Then
        
            ActiveWorkbook.Save
            
            Shell "C:\카카오문자보내기\kakao(문자).exe"     '= 카카오문자보내기 호출
            
        Else
        
            Exit Sub
        
        End If
haja:
    
End Sub
Option Explicit
Dim fileName As String
Dim rngx As Range
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    If Intersect(Target, [m2]) Is Nothing Then GoTo haja      '= 가로형 사진
       With Application.FileDialog(msoFileDialogFilePicker)
           .Show
    
           If .SelectedItems.Count = 0 Then
               Exit Sub
           Else
               fileName = .SelectedItems(1)
           End If
       End With

    Set rngx = [m2].MergeArea
    Call InsertPic(rngx)
    Cancel = True
haja:
    If Intersect(Target, [w2]) Is Nothing Then GoTo haja1      '= 세로형 사진
       With Application.FileDialog(msoFileDialogFilePicker)
           .Show
    
           If .SelectedItems.Count = 0 Then
               Exit Sub
           Else
               fileName = .SelectedItems(1)
           End If
       End With

    Set rngx = [w2].MergeArea
    Call InsertPic(rngx)
    Cancel = True
haja1:
 If Intersect(Target, [m21]) Is Nothing Then Exit Sub           '= 정사각형 사진
       With Application.FileDialog(msoFileDialogFilePicker)
           .Show
    
           If .SelectedItems.Count = 0 Then
               Exit Sub
           Else
               fileName = .SelectedItems(1)
           End If
       End With

    Set rngx = [m21].MergeArea
    Call InsertPic(rngx)
    Cancel = True
End Sub

Sub InsertPic(rngx As Range)

    With ActiveSheet.Pictures.Insert(fileName).ShapeRange
        .LockAspectRatio = msoFalse
        .Height = rngx.Height
        .Width = rngx.Width
        .Left = rngx.Left
        .Top = rngx.Top
    End With
        [f4] = Replace(rngx.Address, "$", "")                   '= 보낼범위에 절대값 바꾸기
        [f5] = "그림"                                           '= 발송방법 문자 / 그림
        

End Sub

사진 추가하는 구문

댓글