Следующий код, основанный на предложении Бретвилля, кажется, работает как на Mac (протестировано в Excel2011), так и на ПК (протестировано в Excel2007) и может выполняться многократно, что позволяет создавать несколько файлов Word. Что требуется для работы кода в Excel2011 (mac) vba - это средство для проверки, работает ли Word уже или нет. Подход, возможно, не самый элегантный, но он работает.
Dim word As Object
Dim doc As Object
On Error Resume Next
Set word = GetObject(, "word.application") 'gives error 429 if Word is not open
If Err = 429 Then
Set word = CreateObject("word.application") 'creates a Word application
Err.Clear
End If
word.Visible = True
Set doc = word.documents.Add
Вы можете поменять местами два оператора Set word, что может показаться предпочтительным, поскольку при запуске на ПК не требуется обработки кода ошибки, но код по какой-то причине ужасно медленно работает на Mac.