Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
Вы ГЕНИЙ!!!!!! :D  
Спасибо! :D  Моему счастью нет предела!
Танцую....т.к. поздно уже для других проявлений радости)))  
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
TempHtml.xlsm (24.34 КБ)
допустим что-то вроде этого...
подбираю методом "тыка"... кручу-верчу функцию Align, но пока безрезультатно(((
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
Kill TempFile - удаление временного файла, с помощью которого прошло преобразование...  :oops:  
Файлик преобразовать в html не могу....
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
Я воспользовалась кодом от мага и чародея Doober  :)  
За что ему ОГРОМНЕЙШЕЕ СПАСИБО!!! Он просто спас мой последний выходной :)

Текст-обрамление решила вставить в таблицу и расширить диапазон вставки в тело письма, а в excelнике просто их "зашить" от лишних глаз...работает))
Но всё же, как вставку сделать по левому краю?  :(
Изменено: Iv_Juliette - 06.12.2014 23:11:57
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
Цитата
Doober пишет: Значит у вас не установлен аутлук.
Я не до такой степени "блонди"  :D  
все заработало, осталось навести общий блеск  8)  
Цитата
Johny пишет: зачем использовать Windows API?
слишком заумный для меня вопрос...хз  :D    
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
Написала код функции преобразования 8)
Код
Public Function SheetToHTML(sh As Worksheet)
      Dim TempFile As String
    Dim fso As Object
    Dim ts As Object
      sh.Copy
    TempFile = sh.Parent.Path & "\TempHtml.htm"
      With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
    TempFile, "Sheet1", "A1:F30", xlHtmlStatic, "333_8568" _
    , "")
    .Publish (True)
    .AutoRepublish = False
    End With
      ActiveWorkbook.Close False
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
      SheetToHTML = ts.ReadAll
   ts.Close
    Set ts = Nothing
    Set fso = Nothing
    Kill TempFile
    End Function

Остался вопрос текста-обрамления и несколько моментов редактирования.
- внести фиксированный текст письма + подпись определенного формата?
- таблица в тело письма вставляется по центру, как сделать по левому краю?
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
Ошибка во второй строчке - "ActiveX component can't create an object"  :oops:  
И не поняла про HTML конвертацию.....
Код
Declare Function FindWindowByClass Lib "user32" _ Alias "FindWindowA" (ByVal lpClassName As String, _ ByVal lpWindowName As Long) As Long
и эта функция не распознается в модуле...
Изменено: Iv_Juliette - 06.12.2014 22:16:37
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
Все-то вы видите))))
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
Страшно спросить, какие нужны доказательства;)
но в VBA я реально плохо разбираюсь, знаю азы, которым учат в университете.
Я решила прогнать макрос по коду и он мне выдает ошибку на самом начале, когда задается MailApp как Outlook.Application. :(
e-mail в outlook с таблицей в теле письма из Excel макросовой кнопкой
 
Помогите, пожалуйста, пытаюсь упростить процесс заполнения и одобрения форм-опросников.
Есть список полей с вопросами, ответы на которые я добавила в связанные списки и т.п. Все работает  :)  
Теперь осталось всю эту красоту (таблицу по диапазону) одним нажатие кнопки отправить в outlook для дальнейшей отправки.
Т.е. Необходимо сформировать тело письма, в которое надо вставить определенный Range таблицы (10x10 ячеек) и добавить текст-обрамление (фиксированный: обращение, подпись и т.п.).
Нашла макрос в интернете, но он почему-то никак не работает (нажимаю на кнопку и ничего!). Вот как блонди сижу и думаю, что делать?
Код
 Sub CommandButton1_Click()
    Dim mailApp As Outlook.Application
    Dim dfg As Object

'поиск окна Microsoft Outlook
    lngRetVal = FindWindowByClass("rctrl_renwnd32", 0&;)
        If lngRetVal <> 0 Then
    Set mailApp = GetObject(, "Outlook.Application")
     Else
    Set mailApp = CreateObject("Outlook.Application")
    End If

    Set objMail = mailApp.CreateItem(olMailItem)
    Set dfg = objMail.Recipients.Add("test@test.com")
    dfg.Type = olTo

With objMail
    .Importance = olImportanceHigh
    .Subject = "Your Subject"
    .BodyFormat = olFormatHTML 'формат HTML
    .HTMLBody = SheetToHTML(ThisWorkbook.Worksheets("tasks"))
End With


'Предварительный просмотр письма 
'objMail.Display

'Отправка письма
objMail.Send


Set objMail = Nothing
Set mailApp = Nothing


End Sub
Изменено: Iv_Juliette - 06.12.2014 19:43:06
Страницы: 1
Наверх