「Excel vba word表 行追加」
という検索キーワードでアクセスがありました。
Excel VBAを使って、Word文書内にある表に行を追加するには、どのようなコードを書けばいいのかを探していらしたのでしょうか。
Wordの表に行を追加するサンプルマクロ
表の存在するWord文書が開かれている状態で、以下のExcelマクロを実行してみてください。
On Error GoTo ErrHandl
With GetObject(Class:="Word.Application")
.ActiveDocument.Tables(1).Rows.Add
End With
ErrHandl:
Select Case Err.Number
Case 429
MsgBox "Wordが起動していないようです。"
Case 4248
MsgBox "Wordファイルが開かれていないようです。"
Case 5941
MsgBox "開いているWordファイルには表が存在しないようです。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
Err.Clear
End Sub
Word.Rows.Addで表に行を追加できる
VBAのGetObject関数を使って、
With GetObject(Class:="Word.Application")
起動済みWord.Applicationへの参照を取得した後は、実質的にWord VBAです。
拙著『Excel VBAユーザーのためのWord VBA入門(2):Tableの基本編』の、「13-4. Rowsの特徴的なプロパティ・メソッド」で、WordのRows.Addメソッドについて以下のように書いています。
引数を指定しなかった場合には、表の1番下に行が挿入されます。
上記の
.ActiveDocument.Tables(1).Rows.Add
は、そのようなWord.Rows.Addメソッドに引数を指定していない例です。
Excel VBAだけを知っていても…
「Excel vba word表 行追加」
と検索なさった方がもしも
「Excel VBAがわかっていればWord VBAも簡単!」
と思ってらっしゃるのならば、それは誤解です。
Excel VBAをある程度使える方ならば、雰囲気で、ある程度のコードは、試行錯誤しつつ書けると思います。
しかし自信を持って書くことは不可能です。
Wordの各オブジェクトがどのような階層構造になっていて、それぞれのオブジェクトが何を担っているのかを知っていなければ、Word VBAのコードは書けません。
特に表に関しては、Excel VBAでできることはWordでもできるだろうと思い込んでいると、戸惑う場面が増えると私は考えています。
最終更新日時:2022-03-24 15:24
- Newer:グラフの位置をVBAでセルに合わせる
- Older:XValuesプロパティを持つオブジェクトは?
Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでWordの表に行を追加する