Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Свойство HTMLBody
 
 автор: Мария   (18.04.2010 в 19:02)   личное сообщение
 
 

Здравствуйте! Очень нужна подсказка. Создаю фрагмент программы, отвечающий за рассылку информационных писем по электронной почте через MS Outlook. Письмо будут формировать пользователи в соответствии с целью рассылки. Подскажите, пожалуйста, можно ли из сохраненного ими файла (формат htm или html) программно получить код, который нужно указывать в свойстве HTMLBody объекта MailItem? Или, может быть, возможно просто указать файл, который будет телом письма?
Спасибо.

  Ответить  
 
 автор: osmor   (19.04.2010 в 08:49)   личное сообщение
 
 

если я правильно понял. Нужно взять файл, прочитатьего сожержимое и запихнуть в Body письма?
Если так, то срдержимое файла можно прочитать функциями vba см.
http://hiprog.com/index.php?option=com_content&task=view&id=283
http://hiprog.com/index.php?option=com_content&task=view&id=284
или с помощью библиотеки File System Object (мне лично нравится больше), примеров много в инете.

  Ответить  
 
 автор: Мария   (20.04.2010 в 00:45)   личное сообщение
 
 

Спасибо. Я посмотрела материалы по ссылкам. Нашла много полезного, но так и не смогла (нормальным образом) решить проблему. Мне нужно считать в тело письма не просто текст из файла, а отформатированный и сохраненный в формате htm текст. Письмо создается в html формате.
Пока делаю так: открываю сохраненный файл с расширением .htm в Word, читаю код html (ActiveDocument.HTMLProject.HTMLProjectItems(1).Text) в текстовую переменную, записываю полученное значение в свойство HTMLBody создаваемого письма. Получается, но подозреваю, что слишком все усложнила.

  Ответить  
 
 автор: Lukas   (20.04.2010 в 00:50)   личное сообщение
 
 

Примитивно, но вроде работает:

Public Function GetBodyTxtFile(FileFullPath As String) As String
    Dim str As String
    Dim FileNum As Long
    If Len(Dir(GetBodyTxtFile)) > 0 Then
        FileNum = FreeFile()
        Open FileFullPath For Input As #FileNum
            Do Until EOF(FileNum)
                Line Input #FileNum, str
                GetBodyTxtFile = GetBodyTxtFile & vbCrLf & str
            Loop
        Close #FileNum
    Else
        GetBodyTxtFile = "Error: file not found."
    End If
    
End Function

'?GetBodyTxtFile("C:\40.html")

  Ответить  
 
 автор: Мария   (20.04.2010 в 00:57)   личное сообщение
 
 

СПАСИБО!!!!!!
Действительно работает и не нужно открывать Word.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList