커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
숙제 제출을 하긴 했는데 바르게 했는지 잘 모르겠어서 이곳에 추가로 남깁니다.
[왕초보] ChatGPT 300% 활용하기 v0
4주차
북마크
정*희
댓글
2
추천
0
조회수
20
조회수
20
답변 완료
스파르타 즉문즉답

4번 6번이 이해가 잘 되지 않아 어찌저찌 제출했지만 다시 반려될까봐 이곳에 추가로 남깁니다.


스파르타 즉문즉답

작성한 코드 및 에러 메세지


1.VBA 매크로 코드


Sub 추출하고_저장하기()

  Dim 원본시트 As Worksheet

  Dim 새로운시트 As Worksheet

  Dim 원본행 As Range

  Dim 새로운행 As Range

  Dim 이름 As String

  Dim 역할 As String

  Dim 이메일 As String

   

  ' 원본 시트 선택

  Set 원본시트 = Worksheets("Sheet") ' 시트 이름은 실제로 사용하는 시트 이름으로 변경해주세요

   

  ' 새로운 시트 생성

  Set 새로운시트 = Worksheets.Add

   

  ' 헤더 복사

  원본시트.Rows(1).Copy Destination:=새로운시트.Rows(1)

   

  ' 데이터 추출 및 새로운 시트에 추가

  For Each 원본행 In 원본시트.Rows

    ' 첫 번째 행은 헤더이므로 무시

    If 원본행.Row > 1 Then

      이름 = 원본행.Cells(1).Value

      역할 = 원본행.Cells(2).Value

      이메일 = 원본행.Cells(3).Value

       

      ' 역할이 "마케팅"인 경우만 추출

      If 역할 = "마케팅" Then

        ' 마케팅만 한국어로 변환하여 새로운 시트에 추가

        Set 새로운행 = 새로운시트.Rows(새로운시트.UsedRange.Rows.Count + 1)

        새로운행.Cells(1).Value = 이름

        새로운행.Cells(2).Value = "마케팅"

        새로운행.Cells(3).Value = 이메일

      End If

    End If

  Next 원본행

   

  ' 새로운 시트 저장

  새로운시트.Copy

  ActiveWorkbook.SaveAs Filename:="marketing_data.xlsx" ' 저장할 파일 이름 및 경로를 적절히 변경해주세요

  ActiveWorkbook.Close SaveChanges:=False

End Sub

=======================

2.자동화 메일 코드


import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart


# 이메일 계정 설정

email_address = 'evedesign.j@gmail.com'  # 여기에 본인의 이메일 주소 입력

email_password = 'pvxz qhfm xuau yeng'  # 여기에 본인의 이메일 비밀번호 입력


# SMTP 서버 설정 (Gmail 기준)

smtp_server = 'smtp.gmail.com'

smtp_port = 587


# 이메일 제목과 내용 설정

subject = '마케팅 이벤트 협조 요청'

message_body = '''

안녕하세요, {name}님!


저희 마케팅 부서에서는 새로운 이벤트를 기획 중에 있습니다.


고객님의 참여가 매우 중요하며, 아래와 같은 내용을 협조 부탁드립니다.


이벤트 내용:

- 전자책 1부 구입 시 10% 할인

- 구매 금액의 2% 포인트 적립


이와 관련하여 다양한 홍보 방법을 고민 중이오니, 부서 내에서 아이디어를 나누고 적극적인 협조 부탁드립니다.


감사합니다.


기획총괄사업부 담당자 정지희 드림

'''


# 엑셀 파일 읽기

marketing_workbook = openpyxl.load_workbook('marketing_data.xlsx')

marketing_sheet = marketing_workbook['Sheet']


# 이메일 보내기

for row in marketing_sheet.iter_rows(min_row=2, values_only=True):

    name, _, email = row


    # 이메일 내용에 이름 삽입

    formatted_message = message_body.format(name=name)


    # 이메일 설정

    msg = MIMEMultipart()

    msg['From'] = email_address

    msg['To'] = email

    msg['Subject'] = subject

    msg.attach(MIMEText(formatted_message, 'plain'))


    # SMTP 서버 연결 및 로그인

    with smtplib.SMTP(smtp_server, smtp_port) as server:

        server.starttls()

        server.login(email_address, email_password)


        # 이메일 전송

        server.sendmail(email_address, email, msg.as_string())


# 엑셀 파일 닫기

marketing_workbook.close()





취소
 공유
취소
댓글 0
댓글 알림
나의얼굴