Word表を操作するマクロでRows.Addで行挿入後、
案1 Row.Cells(1) で 1列目だけ使用する
案2 固定のCell(2,1)にセット
をテストしてみました。
#MSWord #マクロ #WordVBA #デバッグ
キッカケは知恵袋の質問
detail.chiebukuro.yahoo.co.jp
をデバッグしてみました。
youtu.be
https://youtu.be/Ywfr8Y-ctgQ
目次
00:00 やりたいこと
00:47 現状確認
01:18 案1 Row.Cells(1) で 1列目だけ使用する
03:29 案2 固定のCell(2,1)にセット
表2行目挿入後に日時・時刻をセットする
1.現在のコードを走らせる
ループで回しているので、
3列すべてにセットされてしまう
Sub CountCells2() Dim tblNew As Table Dim rowNew As Row Dim celTable As Cell Dim intCount As Integer intCount = 1 Set tblNew = ActiveDocument.Tables(1) Set rowNew = tblNew.Rows.Add(BeforeRow:=tblNew.Rows(2)) For Each celTable In rowNew.Cells celTable.Range.InsertAfter Format(Now(), "yyyy/m/d hh:mm") 'intCount = intCount + 1 Next celTable End Sub
2.案1 行 Rowから攻める
、
Row.Cells(1) で 1列目だけ使用するとか?
intCount = 1 Set tblNew = ActiveDocument.Tables(1) Set rowNew = tblNew.Rows.Add(BeforeRow:=tblNew.Rows(2)) '2行目に行挿入 Set celTable = rowNew.Cells(1) '1列目をセット celTable.Range.InsertAfter Format(Now(), "yyyy/m/d hh:mm")
3.案2 2行目に行挿入後 固定のCell(2,1)にセットすればいい?のでは?
Set tblNew = ActiveDocument.Tables(1) Set rowNew = tblNew.Rows.Add(BeforeRow:=tblNew.Rows(2)) '2行目に行挿入 Set celTable = tblNew.Cell(2, 1) '2行目,1列目をセット celTable.Range.Text = Format(Now(), "yyyy/m/d hh:mm")
Wordの表をマクロで操作する時の参考となれば幸いです