現在、2つのExcel文書間の数値を比較し、その結果をWord文書の表に書き込もうとしています。ドキュメントへの接続を確立できましたが、実際にテーブルを追加することはできません。Excel 2010 VBA経由でWord文書にテーブルを追加する
これは私が持っているものです。
Dim wordObj As Object
Dim outFile As Object
On Error Resume Next
Set wordObj = GetObject(, "Word.Application")
If wordObj Is Nothing Then
Set wordObj = CreateObject("Word.Application")
End If
Set outFile = wordObj.Documents.Add
wordObj.Visible = True
wordObj.Tables.Add Range:=wordObj.Selection.Range, NumRows:=1, NumColumns:=3
wordObj.Selection.Tables(1).Select
With wordObj.Selection
.TypeText ("test1")
.MoveRight (wordObj.wdCell)
.TypeText ("test2")
.MoveRight (wordObj.wdCell)
.TypeText ("test3")
.MoveLeft (wordObj.wdCell)
.MoveLeft (wordObj.wdCell)
.MoveDown Unit:=wordObj.wdLine, Count:=1
End With
私も働いている、わずか3列にページを分割しようとしたが、私が望んでいたとき、私はプログラムが実際の列の間で切り替えるように得ることができませんでした(私はInsertBreak(wdColumnBreak)を使用して試しました)。だからいくつかの理由で、列を追加するが、テーブルはありません
あなたのコードは、あなたが始めてから諦めたようです。あなたがどこを離れたのかを拾う人を見つけるのは難しいでしょう。あなたの質問にあなたが言ったコードを含めてはいかがですか?次に、あなたのためにコードを書く代わりに、誰かがあなたのエラーを修正することができます。私が気付くエラーの1つは、 'wordObj'を可視にすることができないということです。おそらくあなたがしようとしているのは、 'wordObj'が' outFile'を開いたウィンドウをアクティブにすることです。 Excelアプリケーションから 'wordObj'を使用するので、バインディングが問題になる可能性があります。 "Dim outFile As Word.Document'を宣言する方が良いでしょう。 – Variatus
返事をありがとう。私が持っていた唯一の他のコードは、テーブルを選択してそれにいくつかの値を書き込もうとしたところでした。テーブルは最初に存在しなかったので無関係だと思いましたが、私は自分の投稿を編集しました。そして、その時、私はいくつかの誤った参照を変更することによって(つまり、outFileではなくwordObjのプロパティにアクセスしようとする)コードを取得しました。私はあなたの提案に応じてoutFileの宣言をWord.Documentに変更しました –