2

从 Excel VBA 创建 Word 文档的常用方法:

Set WD = CreateObject("Word.Document")

使用 Excel 2011 运行时会导致错误。

知道如何使用 VBA 在 Excel 2011 中创建 Word 文档吗?

(我不想使用 AppleScript,因为我希望该程序也能够在 PC 上运行。)

4

2 回答 2

2

下面的代码,根据bretville的建议,似乎在mac(在Excel2011上测试)和pc(在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 语句,这似乎更可取,因为在 pc 上运行时不需要处理错误代码,但由于某种原因,代码在 mac 上运行速度非常慢。

于 2011-11-17T12:58:14.250 回答
0

对于 PC,我会这样做:

Dim word As Object: Set word = CreateObject("word.application")
word.Visible = True
Dim doc As Object: Set doc = word.documents.Add
于 2011-11-15T17:53:02.880 回答