У вас уже есть MailItem (myMail) - что произойдет, если вы используете его напрямую, а не пытаетесь получить новый? OOM - переменчивый зверь - не пытайтесь обойти его модель кеширования. Возможно, вы также захотите узнать, не можете ли вы установить что-то другое, например, тему, чтобы увидеть, выполняется ли код в ожидаемых частях и может ли выполнить обновление.
Кроме того, тип Categories является строкой, а olCategoryColorBlue (из перечисления OlCategoryColor) является числом. Хм. Не уверен, как это работает. Я считаю, что вы должны преобразовать значение перечисления в «имя». См. Ссылки в интерфейсе категорий , которые можно проиндексировать с помощью индекса (OlCategoryColor?) Или выполнить линейный поиск.
Кроме того, я полагаю, что вы можете сделать это только с помощью Мастера правил (без VBA).
Надеюсь, вы найдете свою проблему. Удачного кодирования.