Создать файл Word из Excel 2011 - PullRequest
       22

Создать файл Word из Excel 2011

2 голосов
/ 15 ноября 2011

Обычный подход к созданию документа Word из Excel VBA:

Set WD = CreateObject("Word.Document")

приводит к ошибке при запуске с Excel 2011.

Есть идеи, как можно создать документ Word в Excel 2011 с помощью VBA?

(Я не хочу использовать AppleScript, поскольку хочу, чтобы программа могла работать и на ПК.)

Ответы [ 2 ]

2 голосов
/ 17 ноября 2011

Следующий код, основанный на предложении Бретвилля, кажется, работает как на 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.

0 голосов
/ 15 ноября 2011

Для ПК я бы сделал это:

Dim word As Object: Set word = CreateObject("word.application")
word.Visible = True
Dim doc As Object: Set doc = word.documents.Add
...