Денис
если вы запускаете это из Word, вам не нужно использовать CreateObject ().
Установить vbProj = ActiveDocument.VBProject будет работать.
если вы запускаете это из другого места, то вам может понадобиться сначала создать объект Word и загрузить документ:
Dim a As Object
Dim vbProj As Object
Set a = CreateObject("Word.Application")
a.Documents.Open "C:\temp\test1.docx"
MsgBox a.Documents.Count
Set vbProj = a.ActiveDocument.VBProject
В обоих случаях вы можете получить «Программный доступ к Visual Basic Project не является доверенным», который разрешается с помощью параметров безопасности макроса, http://support.microsoft.com/kb/282830.
Надеюсь, это ответит на ваш вопрос.