powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA outlook обрезает текст письма
2 сообщений из 2, страница 1 из 1
VBA outlook обрезает текст письма
    #39643209
Фотография jsmirnoww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача:
написать робота для обработки входящих писем.
Что сделал:
написал на VBA скрипт в outlook'е

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim arr() As String
    Dim i As Integer
    Dim ns As Outlook.NameSpace
    Dim itm As MailItem
    Dim m As Outlook.MailItem
    
    Dim parsedRequest
    
    On Error Resume Next
    
    Set ns = Application.Session
    
    arr = Split(EntryIDCollection, ",")
    For i = 0 To UBound(arr)
        Set itm = ns.GetItemFromID(arr(i))
        If itm.Class = olMail Then
            Set m = itm
            If UCase(Left(m.subject, 3)) = "API" Then
                If (m.DownloadState = olFullItem) Then
                    Response = parseRequest(m.body)
                    
                    Call SendResponse(m.Sender.Address, "RE: " + m.subject, Response)
                    m.MarkAsTask (olMarkComplete)
                    m.Save
                End If
            End If
        End If
    Next
    Set ns = Nothing
    Set itm = Nothing
    Set m = Nothing
End Sub



В письмах приходит xml в виде olFormatPlain.
С небольшими письмами полный порядок.
Но! xml в письмах примерно от 300 байт перестаёт распознаваться как xml.
Отладка поставила меня в тупик. см. скриншот.

Даже не знаю как это объяснить... Если обращаюсь к свойству body объекта, то получаю обрезанный текст письма, если смотреть в отладчике сам объект и развернуть его свойства в дереве просмотра, то вижу полный текст письма. причём длина обрезанного остатка зависит от текста. в данном случае 251 символ. с другим текстом было 391 символ.

Outlook 2013

кто-нть знает как получить полный текст письма?


.
------------------------------------------------------------
...
Рейтинг: 0 / 0
VBA outlook обрезает текст письма
    #39643391
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй результат выведи в txt

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Function pub_fun_txt(ByVal s As String)
Dim fso, ts As Object
Set fso = CreateObject("scripting.filesystemobject")

Set ts = fso.CreateTextFile("....\123.txt", True)
ts.Write s
ts.Close


End Function
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA outlook обрезает текст письма
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]