VBA Outlook 2007の日付タイプのパフォーマンスを改善します
-
09-10-2019 - |
質問
私はこの分野とVBでもまったく新しいです。私のスクリプトの1つの現在のパフォーマンスは本当に悪いです。プロファイルする方法がわかりません。したがって、私は「Shift+F8」を使用して「ステップオーバー」を1つずつ使用して、凍結した場所を確認します。その後、次の2つの指示であることが判明しました。
//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
私見、コピーの構築を避けるために、「date_pointer」または「date_ref」に「日付」を置き換える必要があるかもしれません。それらが可能かどうかはわかりません。その比較命令のパフォーマンスを改善する方法についても、私も考えていません。
また、それをプロファイルする正しい方法が何であるかを知る必要があります。まったく無関係な場所を見ている場合に備えて。
解決
最後に、clng(expr)を使用して「日付」を「長い」に変換し、その値と比較することを選択しました。まだ遅いですが、それほど遅くはありません。
所属していません StackOverflow