| |
|
|
| | Здравствуйте! Очень нужна подсказка. Создаю фрагмент программы, отвечающий за рассылку информационных писем по электронной почте через MS Outlook. Письмо будут формировать пользователи в соответствии с целью рассылки. Подскажите, пожалуйста, можно ли из сохраненного ими файла (формат htm или html) программно получить код, который нужно указывать в свойстве HTMLBody объекта MailItem? Или, может быть, возможно просто указать файл, который будет телом письма?
Спасибо. | |
| |
| |
| |
|
|
| | если я правильно понял. Нужно взять файл, прочитатьего сожержимое и запихнуть в 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 (мне лично нравится больше), примеров много в инете. | |
| |
| |
| |
|
|
| | Спасибо. Я посмотрела материалы по ссылкам. Нашла много полезного, но так и не смогла (нормальным образом) решить проблему. Мне нужно считать в тело письма не просто текст из файла, а отформатированный и сохраненный в формате htm текст. Письмо создается в html формате.
Пока делаю так: открываю сохраненный файл с расширением .htm в Word, читаю код html (ActiveDocument.HTMLProject.HTMLProjectItems(1).Text) в текстовую переменную, записываю полученное значение в свойство HTMLBody создаваемого письма. Получается, но подозреваю, что слишком все усложнила. | |
| |
| |
| |
|
|
| | Примитивно, но вроде работает:
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")
|
| |
| |
| |
| |
|
|
| | СПАСИБО!!!!!!
Действительно работает и не нужно открывать Word. | |
| |
| |