2010/03/31

WORDで、表にフィールドを追加するマクロw

調べてみると案外情報が少なかったので c⌒っ*゚∀゚)φ メモメモ...

' 1つ目の表の1列目のセルにAutoNumフィールドを追加する(1行目は列名なのでパス)
  For i = 2 To ActiveDocument.Tables(1).Columns(1).Cells.Count
    ' i行1列目を現在の領域に設定する
    Set CurrentRange = ActiveDocument.Tables(1).Cell(Row:=i, Column:=1).Range
    
    ' セルに他のFieldがなければ、AutoNumフィールドを追加する
    ActiveDocument.Tables(1).Cell(Row:=i, Column:=1).Range.Select
    If 0 = Selection.Fields.Count Then
        ' セルの選択状態を解除する
        CurrentRange.End = CurrentRange.End - 1
        ' 目的のセルにAutoNumフィールドを追加する
        Set myField = ActiveDocument.Fields.Add(Range:=CurrentRange, Type:=wdFieldAutoNum)
    End If
  Next i

意外にひっかかったのが、「セルの選択状態を解除してないとフィールドが追加出来ない」
というWORDの仕様です(´・ω・`)ショボーン これで1~2時間つぶれた・・

0 件のコメント: