Страницы: 1
RSS
Создание поручения Outlook из Excel VBA
 
Добрый день всем
Есть задача средствами Excel VBA создать поручение Outlook
пишу код:
Код
    Dim oOutlook As New Outlook.Application
    Dim oMessage As Outlook.TaskItem
    Set oMessage = oOutlook.CreateItem(olTaskItem)
    oMessage.Contacts = "*****@*****.ru"
    oMessage.Subject = "Текст поручения"
    oMessage.Body = "Тема поручения"
    oMessage.Attachments.Add ("C:\installlog.txt")
    oMessage.Send

ничего не получается
также необходимо в поручении указать сроки начала и конца исполнения поручения

помогите пожалуйста, как решить данную проблему?
Изменено: fzenkov - 20.07.2016 15:17:39
 
Код
Sub Отправить_Почту()
Dim lRetVal As Long 'для получения выбранного значения
    lRetVal = MsgBox("Проверь получателя!" & Chr(10) & ActiveCell.EntireRow.Cells(2) & " Он?" & Chr(10) & "Отправляю!", vbYesNo + vbQuestion, "ПОДУМАЙ,ПЕНЬ!!!")
    If lRetVal = vbNo Then
        Exit Sub 'выходим из процедуры без выполнения
    End If
    Dim objOutlookApp As Object, objMail As Object
    Dim sTo As String, sSubject As String, sBody As String, sAttachment As String
 
    Application.ScreenUpdating = False
    On Error Resume Next
    Set objOutlookApp = CreateObject("Outlook.Application")
    objOutlookApp.Session.Logon
    Set objMail = objOutlookApp.CreateItem(0)   'создаем новое сообщение
    'если не получилось создать приложение или экземпляр сообщения - выходим
    If Err.number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub
    
    sTo = ActiveCell    'Кому(можно заменить значением из ячейки - sTo = Range("A1").Value)
    sSubject = Range("E1").Value  'Тема письма(можно заменить значением из ячейки - sSubject = Range("A2").Value)
    sBody = Range("B1").Value   'Текст письма(можно заменить значением из ячейки - sBody = Range("A3").Value)
    sAttachment = Range("D6").Value    'Вложение(полный путь к файлу. Можно заменить значением из ячейки - sAttachment = Range("A4").Value)
    
    'создаем сообщение
    With objMail
        .To = sTo 'адрес получателя
        .CC = "" 'адрес для копии
        .BCC = "" 'адрес для скрытой копии
        .Subject = sSubject & "  " & Range("D4") 'тема сообщения
        .Body = sBody & Chr(10) & "  " & Chr(10) & Range("D5")  'текст сообщения
        .Attachments.Add sAttachment 'чтобы отправить активную книгу вместо sAttachment указать ActiveWorkbook.FullName
        .Attachments.Add Range("D7").Value
        .Attachments.Add Range("D8").Value
        .Attachments.Add Range("D9").Value
        .Attachments.Add Range("D10").Value
        .Attachments.Add Range("D11").Value
        .Send 'Display - просмотреть сообщение, Send - без просмотра
    End With
 
    Set objOutlookApp = Nothing: Set objMail = Nothing
    Application.ScreenUpdating = True
    ActiveCell.EntireRow.Cells(10) = Date ' дата в столбец 10 той же строки
    ActiveWorkbook.Save
End Sub


Я отправляю почту из таблицы вот таким кодом
 
Можно так.
Код
   Dim oOutlook As New Outlook.Application
    Dim oMessage As Outlook.TaskItem
    Set oMessage = oOutlook.CreateItem(3)
    oMessage.Assign    'Возводит задачу в ранг запроса к пользователям (TaskRequestItem)
    Set myDelegate = oMessage.Recipients.Add(Исполнитель)
    If myDelegate.Resolve Then      'Проверяет, может ли указанный исполнитель
    'получить задачу (корректно ли указано имя или адрес)
        oMessage.Categories = Категория
        myItem.DueDate = Срок
        oMessage.Subject = "Текст поручения"
        oMessage.Body = "Тема поручения"
        oMessage.Attachments.Add ("C:\installlog.txt")
        oMessage.Send
    End If

PS:У меня работает
 
не необходимо не почту отправить, а создать Поручение Outlook
отправка почтовых сообщений из Excel из Excel у меня работает
 
скажите пожалуйста, срок указан:
myItem.DueDate = Срок
а как указать:
начало
состояние
важность
 
скажите пожалуйста, при указании срока выполнения задачи
выдает ошибку при указании срока myItem.DueDate = Date
и также выдает ошибку при указании срока myItem.DueDate = "25.07.2016"

в каком формате и каким синтаксисом указать срок?
 
Ошибся я при копипасте кода
myItem.DueDate = Срок исправить на  oMessage.DueDate = Срок
Код
        oMessage.StartDate = Date
        oMessage.DueDate = Date + 20
 
Doober,
извините за настойчивость, а как указать:
дополнительные параметры:

состояние поручения
важность поручения
 
Первоисточник
Смотрите свойства и методы.
Страницы: 1
Читают тему
Наверх