Ошибка на ActiveSelection.Tasks - PullRequest
0 голосов
/ 09 марта 2012

Кто-нибудь знает, что это значит

Set oProjTasks = ActiveSelection.Tasks

У меня есть макрос, который генерирует отчеты о состоянии из проекта MS и экспортирует их непосредственно в MS Word.Это удобный инструмент, когда он работает.

Когда я запускаю его сейчас, в этот момент выдается «ошибка времени выполнения« 424 »: требуется объект».

Как это исправить?

Ответы [ 2 ]

2 голосов
/ 10 марта 2012

Код, который вы отображаете, является оператором set, который устанавливает объект ProjTasks равным задаче, выбранной в окне сообщения. Свойство ActiveSelection возвращает объект выбора, который представляет активный выбор. Возможно, вы столкнулись с проблемой, когда не выбрано ни одного элемента, и в этом случае будет выдан trappable код ошибки 424. Существует фрагмент кода, который вы можете изменить из MSDN, который будет работать, чтобы предотвратить появление этого типа ошибки. встречающаяся.

Вот ссылка на статью MSDN ... только не забывайте не использовать этот код дословно, а измените его для работы с вашим макросом.

http://msdn.microsoft.com/en-us/library/aa169315%28v=office.11%29.aspx

0 голосов
/ 13 марта 2012

Вы можете попробовать обернуть проверку ошибок вокруг оператора set.Я написал небольшой макрос для непустого файла проекта:

Sub Testing()
  On Error GoTo ActiveSelectionErrHandler:
  Set oProjTasks = ActiveSelection.Tasks
  If oProjTasks Is Nothing Then
    MsgBox "No tasks in current project"
  End If
ActiveSelectionErrHandler:
  Set oProjTasks = ThisProject.Tasks 'or something like that
  Resume Next
End Sub

Это устраняет ошибку, но, поскольку Стив уже выразил мнение, требуется больше работы для интеграции кода.

ВыПридется следовать коду, чтобы внести изменения для обработки пустых задач oProjTas, где ожидается, что они будут иметь некоторые значения.В противном случае вы увидите больше ошибок, возможно, когда oProjTasks окажется пустым.

Другим альтернативным решением может быть запуск макроса после выбора проекта, поскольку код, который вы цитировали, будет работать нормально, если что-то выбрано.

...