Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2016, 14:30   #1
Noober89
 
Регистрация: 10.08.2016
Сообщений: 7
По умолчанию Шаблон письма на VB для Outlook.

Всем доброго дня!
Нужна помощь в написании макроса для создания шаблона письма в Outlook. Что использовать для введения требуемой информации от пользователя (несколько полей ввода, обязательных для заполнения)?
В html это required или input. Или может как-то можно внедрить из html в VB этот "input"?
Noober89 вне форума Ответить с цитированием
Старый 22.12.2016, 14:39   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

пример
Код:
Sub MyMail()
    Dim olMailMessage As Outlook.MailItem
    Dim olRecipient As Outlook.Recipient
    Dim fdInputFile As office.FileDialog
    
    Dim xlObj As Excel.Application
    
    Dim sInputFile As Variant
    
    Set xlObj = New Excel.Application
    xlObj.Visible = False
    Set fdInputFile = xlObj.Application.FileDialog(msoFileDialogOpen)
    With fdInputFile
        .Filters.Clear
        .Filters.Add "Файл звіту (PDF)", "*.PDF", 1
        .AllowMultiSelect = True
        .Title = "Select your PDF File"
        .ButtonName = "Приєднати файли"
        .InitialFileName = "D:\"
        If .Show = False Then MsgBox "Файли не були вибрані", vbInformation + vbOKOnly, "Attachment's Error"
    End With
    Set olMailMessage = Application.CreateItem(olMailItem) ' сообщение
        With olMailMessage
            .BodyFormat = olFormatHTML ' формат текста
            .Recipients.Add ("O@m.com") ' адресат
            .CC = "os@m.com" ' копія
            .Subject = "Реализация за " & Year(Date) & " р. та " & Format(Date - 2, "mmmm") ' тема 
            
            .HTMLBody = "<div style='font: 10pt; font-family:Gotham Pro'>Доброго дня! <BR><BR> " & _
                    Format(Date - 2, "mmmm") & ", " & Year(Date) & " р. <BR><BR><BR> _________________________________ <BR>  </div>"
            .Display ' 
            
            ' attach all files
            For Each sInputFile In fdInputFile.SelectedItems
                .Attachments.Add sInputFile, 1
            Next sInputFile
        End With
        xlObj.Quit
        Set xlObj = Nothing
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 29.12.2016, 15:08   #3
Noober89
 
Регистрация: 10.08.2016
Сообщений: 7
По умолчанию

Спасибо за ответ! А можно ли сделать через форму. Т.е. создал форму с TextBox-ами и Button-ом. Как при введении всех данных в поля формы и нажатии на кнопку организовать передачу сформированных данных в окно сообщения уже с заполненным адресатом. Макрос отправки сообщения имеется.


Код:
Sub Macros()
    Dim fileAttach As Outlook.Attachment
    
    Dim newMail As Outlook.MailItem
    Set newMail = Application.CreateItem(olMailItem)

    UserForm1.Show ' здесь сначала вызываем форму с полями и кнопкой для ввода обязательных данных
    
    ' а здесь как-то нужно через кнопку выгрузить эти данные полей с формы

    With newMail
        .Subject = "123123" + Format(Date, "dd.mm.yyyy (dddd)")
        .To = "mail@ru"
        .BodyFormat = olFormatHTML
        .htmlBody = htmlBody
        .Display
    End With
    Set newMail = Nothing
End Sub
Надеюсь, что я хоть немного доходчиво объяснил

Последний раз редактировалось Noober89; 30.12.2016 в 08:24.
Noober89 вне форума Ответить с цитированием
Старый 06.01.2017, 09:55   #4
Noober89
 
Регистрация: 10.08.2016
Сообщений: 7
По умолчанию

MS Outlook 2010. А можно ли на форме создать кнопку, через которую прикреплять файлы к письму? Т.е. это должна быть кнопка идентичная той, что при создании сообщения "Вложить файл". Я так понимаю это должно быть связано с AttachNewFile

Последний раз редактировалось Noober89; 06.01.2017 в 10:51.
Noober89 вне форума Ответить с цитированием
Старый 06.01.2017, 11:33   #5
Noober89
 
Регистрация: 10.08.2016
Сообщений: 7
По умолчанию

Нашел пока только это
Код:
Dim fDialog As Office.FileDialog
    Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
только ошибку выдает 438. Какую библиотеку подключать?
Noober89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Outlook. Шаблон для нового сообщения ru3000 Microsoft Office Excel 7 03.11.2017 12:17
Макрос для outlook проверка текста письма!!! Ania Shepeleva Microsoft Office Word 1 30.03.2014 16:26
Формирование письма в Outlook asale HTML и CSS 3 18.10.2009 13:34
Форматирование письма OUTLOOK'а oTyler Microsoft Office Excel 0 28.07.2008 14:49