2

Excel VBAからWord文書を作成するための通常のアプローチ:

Set WD = CreateObject("Word.Document")

Excel 2011で実行すると、エラーが発生します。

VBAを使用してExcel2011でWord文書を作成する方法について何か考えはありますか?

(プログラムをPCでも実行できるようにしたいので、AppleScriptを使用したくありません。)

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

2 つの 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 に答える