Есть несколько вопросов об этом здесь, на которые были получены ответы, но я не смог найти никого из них, имеющего отношение к моей ситуации. Поскольку я новичок в VBA, я уверен, что это нечто простое, чего мне не хватает. Я даже побежал через шаги здесь, чтобы убедиться, что я имел доступ к DAO (3.6 в моем случае):Ошибка во время выполнения '424' при создании макроса VBA
http://support.microsoft.com/en-us/kb/163475
Может кто-нибудь помочь мне понять, что происходит не так с моей VBA скрипт ниже?
Я пытаюсь обрезать кучу бесполезного текста из строки темы письма, когда он входит в мой почтовый ящик. Обратите внимание, что элементы с этой темой приземлятся в различных подпапках в моем почтовом ящике в случае, если имеет значение:
Sub ChangeSubject()
If Left(Item.subject, 31) = "Your Work Item Changed: " Then
Item.subject = Right(Item.subject, Len(Item.subject - 31))
End If
End Sub
Попытка запустить это из результатов редактора VBA в ошибке времени выполнения «424» сообщения. Обратите внимание, что я нахожусь в Outlook 2013 на Windows.
Поместите «Option Explicit» в первую строку вашего модуля кода, исправьте все ошибки и посмотрите, что осталось. – GSerg
Проблема, о которой, вероятно, касается GSerg, заключается в том, что она не знает, что такое «Item». Вам либо нужно передать элемент в качестве параметра в подпрограмму, либо получить его откуда-то. Вы можете найти код, который сделает это событие всякий раз, когда приходит электронное письмо (в настоящее время оно отсутствует), а затем вы можете получить доступ к элементу с помощью этого кода. – OpiesDad
Текст «Ваш рабочий элемент изменен:» имеет длину 24 символа, поэтому непонятно, почему его сравнивают с первыми 31 символами предмета. – barrowc