2017-12-14 22 views
1

タイトルはすべてそれを示しています。私は昨日コードを書いて、うまくいった。私はばかだったし、間違って保存され、コードを失った。しかし、今日、私はそれを実現させるためにコードを書き直しました。なぜ今日のアポイントメントが作成されていないのかわかりません。私はF8から私のサブを介して値が正しく格納されています。私が間違って見逃してしまった愚かな間違いを誰かが指摘できれば、それは私がそれを見つけられないほど救命救助者になるだろう。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

あなたがここにチェックし、自分のものと比較したと仮定しますか? [リンク](https://blogs.msdn.microsoft.com/brunoterkaly/2014/07/24/scheduling-appointments-in-outlook-from-excel/) - Microsoftの例をコピーしてワークブック。 – Petrichor

答えて

1

実施例here

はあなたのループの端から.Saveが欠落しているように見えますがあります。動作していない何

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

関連する問題