Outlook VBA: кодировка файлов, сохраненых через макрос
Формулировка задачи:
Здравствуйте уважаемые,
В VBA относительно новичок. Работаю над макросом, сохраняющем письма с вложениями на жесткий диск. Письма сохраняются в таком порядке:
- Вложения;
- письмо в формате .txt
- письмо в формате .msg
Решение задачи: «Outlook VBA: кодировка файлов, сохраненых через макрос»
textual
Листинг программы
Sub SaveFolderToHDD(myItem As Outlook.MailItem) ... Const sPATH0 As String = "C:\Temp\Outlook_Items" Const OLTXT = 0 ... miItem.SaveAs sPath_i & "RawData#" & ".msg" ', olMSG miItem.SaveAs sPath_i & "SvMsg#" & ".txt", OLTXT Call ChangeFileCharset(sPath_i & "SvMsg#" & ".txt", "UTF-8", "ANSI") ... End Sub Function ChangeFileCharset(ByVal namef$, ByVal DestCharset$, _ Optional ByVal SourceCharset$) As Boolean On Error Resume Next: Err.Clear With CreateObject("ADODB.Stream") .Type = 2 If Len(SourceCharset$) Then .Charset = SourceCharset$ ' указываем исходную кодировку .Open .LoadFromFile namef$ ' загружаем данные из файла FileContent$ = .ReadText ' считываем текст файла в переменную FileContent$ .Close .Charset = DestCharset$ ' назначаем новую кодировку .Open .WriteText FileContent$ .SaveToFile namef$, 2 ' сохраняем файл уже в новой кодировке .Close End With ChangeFileCharset = Err = 0 End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д