23decxf 发表于 2015-9-13 07:41:49

如何在Excel中调用Outlook,添加任务或日程

  已经有好几个人询问如何在Excel中使用VBA调用Outlook或者其它Office应用程序,其实做法很简单,关键还是对于目标应用程序的对象模型的掌握和使用,这里有一个以前做过的例子,是在Excel中做一个计划表,然后调用Outlook,将计划添加到任务,因为代码是自己当时用的,所以比较粗糙。

Excel表格:


代码:



Public Sub WriteToOutlookTask()

    Dim Task As Outlook.TaskItem
   
    Dim rng As Range
   
    Dim i As Long
    For i = 3 To 34 Step 1
      If Range(&quot;B&quot; & i).Value <> &quot;&quot; Then
            Set Task = Outlook.Application.CreateItem(olTaskItem)
            Task.Subject = &quot;初记:&quot; & Range(&quot;B&quot; & i).Value & &quot;-&quot; & Range(&quot;C&quot; & i).Value
            Task.StartDate = Range(&quot;A&quot; & i).Value
            Task.DueDate = Range(&quot;A&quot; & i).Value
            Task.Save
      End If
      If Range(&quot;D&quot; & i).Value <> &quot;&quot; Then
            Set Task = Outlook.Application.CreateItem(olTaskItem)
            Task.Subject = &quot;复习:&quot; & Range(&quot;B&quot; & i - 2).Value & &quot;-&quot; & Range(&quot;C&quot; & i - 2).Value
            Task.StartDate = Range(&quot;A&quot; & i).Value
            Task.DueDate = Range(&quot;A&quot; & i).Value
            Task.Save
      End If
      If Range(&quot;E&quot; & i).Value <> &quot;&quot; Then
            Set Task = Outlook.Application.CreateItem(olTaskItem)
            Task.Subject = &quot;复习:&quot; & Range(&quot;B&quot; & i - 4).Value & &quot;-&quot; & Range(&quot;C&quot; & i - 4).Value
            Task.StartDate = Range(&quot;A&quot; & i).Value
            Task.DueDate = Range(&quot;A&quot; & i).Value
            Task.Save
      End If
         
    Next
   
End Sub
完整的Excel文件下载:ExcelOutlook
页: [1]
查看完整版本: 如何在Excel中调用Outlook,添加任务或日程