2017-12-14 13 views
1

제목에 모두 나와 있습니다. 나는 어제 코드를 작성했고 잘 작동했다. 나는 바보 였고 잘못 저장되어 코드를 잃어 버렸다. 그러나 오늘은 코드를 다시 작성하여이를 실현 시켰습니다. 왜 오늘 약속이 만들어지지 않는지 잘 모르겠습니다. 값은 F8에서 내 Sub를 통해 올바르게 저장됩니다. 누군가가 간과 한 실수를 간과 할 수 있다면, 나는 그것을 스스로 발견 할 수없는 생명의 은인이 될 것입니다.VBA를 사용하여 Excel 데이터에서 Outlook 약속 만들기

Sub test() 

    Dim OL As Outlook.Application, Appoint As Outlook.AppointmentItem, ES As Worksheet, _ 
    r As Long, i As Long, WB As ThisWorkbook 

    Set WB = ThisWorkbook 
    Set ES = WB.Sheets("Export Sheet") 
    r = ES.Cells(Rows.count, 1).End(xlUp).Row 
    Set OL = New Outlook.Application 

    For i = 2 To r 
     Set Appoint = OL.CreateItem(olAppointmentItem) 
     With Appoint 
      .Subject = ES.Cells(i, 1).Value 
      .Start = ES.Cells(i, 2).Value 
      .End = ES.Cells(i, 3).Value 
      .Location = ES.Cells(i, 4).Value 
      .AllDayEvent = ES.Cells(i, 5).Value 
      .Categories = ES.Cells(i, 6).Value & " Category" 
     End With 
    Next i 
    Set OL = Nothing 

End Sub 
+3

: 이것처럼

? 에러 메시지? – peakpeak

+0

@peakpeak 오류 메시지가 없습니다. 코드는 예상대로 실행되지만 매크로를 실행 한 후에는 Outlook에 새로운 약속이 없습니다. – JustinShotMe

+0

여기를 확인하고 자신의 것과 비교했다고 가정합니다. [link] (https://blogs.msdn.microsoft.com/brunoterkaly/2014/07/24/scheduling-appointments-in-outlook-from-excel/) - Microsoft의 예를 복사하여 학습장. – Petrichor

답변

1

는 루프의 끝에서 .Save 누락처럼 보이는 작업 예제 here

있습니다. 무엇을 작동하지

For i = 2 To r 
    Set Appoint = OL.CreateItem(olAppointmentItem) 
    With Appoint 
     .Subject = ES.Cells(i, 1).Value 
     .Start = ES.Cells(i, 2).Value 
     .End = ES.Cells(i, 3).Value 
     .Location = ES.Cells(i, 4).Value 
     .AllDayEvent = ES.Cells(i, 5).Value 
     .Categories = ES.Cells(i, 6).Value & " Category" 
     .Save 
    End With 
Next i 
+0

나의 대답이 도움이 되었다면, 대답으로 표시 해주십시오 :) 감사합니다! – Petrichor

+1

절대적으로했습니다. 당신은 신사 (또는 여자)와 영웅입니다. – JustinShotMe