Улучшить производительность типа даты в VBA Outlook 2007
-
09-10-2019 - |
Вопрос
Я совершенно новый в этой области и даже VB. Текущая производительность одного из моих сценариев действительно плохо. Я не знаю, как это профилировать. Следовательно, я просто использую «Shift + F8», чтобы «наступить в инструкции по одному, чтобы увидеть, где он замерзнет». Тогда оказывается следующие два инструкции:
//This compare instruction
If mail.SentOn < eCase.firstAppearance Then
eCase.firstAppearance = mail.SentOn
End If
//And this assignment instruction in another place
eCase.firstAppearance = mail.SentOn
Легенда: «Mail» - это пример «MailITEM» и «ECASE» является экземпляром публичного класса со следующим участником:
Public firstAppearance As Date
IMHO, может быть, мне нужно заменить «дату» с «DATE_PONTER» или «DATY_REF», чтобы избежать конструкции копирования. Я не знаю, возможно ли эти возможными. У меня нет никакой идеи о том, как улучшить производительность этого сравнения обучения.
Мне также нужно знать, какой правильный способ профилировать его. На всякий случай я смотрю на совершенно неактуальное место.
Решение
Наконец, я решил использовать CLNG (EXPR), чтобы преобразовать «дату» на «долго», и сохранить / сравнить с этим значением. Это все еще медленно, но не так медленно.