Когда MailItem не является MailItem? [закрытый]

Из MSDN:

По умолчанию Math.Round использует MidpointRounding.ToEven. Большинство людей не знакомы с «округлением до единого», поскольку альтернатива, «округление от нуля», чаще всего преподается в школе. .NET по умолчанию имеет значение «округление до четного», поскольку оно статистически превосходит, поскольку оно не разделяет тенденцию «округления от нуля» к округлению немного чаще, чем округляет его (при условии, что округленные числа имеют тенденцию быть положительными. )

blockquote>

http://msdn.microsoft.com/en-us/library/system.math.round.aspx

10
задан 0m3r 11 March 2016 в 04:43
поделиться

2 ответа

записали функцию обработчика сообщений в Visual Basic Outlook (мы используем Outlook 2003 и Exchange Server) помочь мне разобраться во входящей электронной почте. Это работает на меня, кроме иногда сбоев правила, и Outlook деактивирует его. Затем я снова включаю правило и вручную выполняю его на моем Ящике входящих сообщений для наверстывания. Правило спонтанно перестало работать и деактивируется несколько раз в день. Я хотел бы зафиксировать это раз и навсегда.

Вот код, лишенный функциональности, но давание общее представление Вам того, как это смотрит:

   Public WithEvents myOlItems As Outlook.Items

   Public Sub Application_Startup()
       ' Reference the items in the Inbox. Because myOlItems is declared
       ' "WithEvents" the ItemAdd event will fire below.
       ' Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
       Set myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items
   End Sub

   Private Sub myOlItems_ItemAdd(ByVal Item As Object)
       On Error Resume Next
       If TypeName(Item) = "MailItem" Then
           MyMessageHandler Item
       End If
   End Sub

   Public Sub MyMessageHandler(ByRef Item As MailItem)
       Dim strSender As String
       Dim strSubject As String

       If TypeName(Item) <> "MailItem" Then
           Exit Sub
       End If

       strSender = LCase(Item.SenderEmailAddress)
       strSubject = Item.Subject

       rem do stuff
       rem do stuff
       rem do stuff
   End Sub

Одна ошибка, которую я получаю, является вызовом "Несоответствия типов" MyMessageHandler, где VB жалуется, что Объектом не является MailItem. Хорошо, но TypeName (Объект) возвращает "MailItem", поэтому каким образом Объектом не является MailItem?

Другой, который я получаю, - то, где электронное письмо с пустым предметом приходит. Строка

strSubject = Item.Subject

дает мне ошибку. Я знаю Объект. Предметом должен быть пробел, но почему это - ошибка?

Спасибо.

2
ответ дан 3 December 2019 в 19:36
поделиться

Моя память несколько облачна на этом, но я полагаю, что MailItem не является MailItem, когда это - что-то как получение чтения. (К сожалению, код VBA, который продемонстрировал это, был написан в другом задании и не вокруг теперь.)

У меня также был код, написанный для обработки входящих сообщений, вероятно, по той же причине, которую Вы сделали (слишком много правил для Exchange или правила, слишком сложные для Мастера Правил), и, кажется, вспоминаете столкновение с той же проблемой, которую Вы имеете, что некоторые объекты, казалось, были от другого типа даже при том, что я ловил их с чем-то как то, что Вы записали.

Я буду видеть, могу ли я произвести определенный пример, если он поможет.

2
ответ дан 3 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: