プロが教えるわが家の防犯対策術!

word vbaでword上の表の、任意で選択した複数のセルに同じ文字列を入力したいのですが、可能ですか?

例えばexcell vbaの場合は
Selection.Value = "文字列"
で、選択した任意のセル、それが一つのセルであろうと、連続した複数のセルであろうと、離れている複数のセルであろうと、「文字列」という文字を入力することが可能なのですが、word vbaで、word上の表で同じような操作は可能なのでしょうか?

Selection.TypeText Text:="文字列"
をやってみたのですが、一つのセルには入力されても、他の選択したセルには入力されません。

word vbaで可能な方法はありますかる

よろしくお願いします。

A 回答 (1件)

Excelのように簡潔な設定では無理だと思います。



表におけるSelectionで指定した範囲は、個々のセルではなく範囲全体に
なります。
最初のセルへと指定の文字が入力されたときにマクロが終了するので、
一つのセルのみテキストが入るだけです。

ループすれば指定範囲に文字列が入力するようにできますが、選択した
範囲を取得しないとならないので面倒です。

表の指定列に文字列を入力する例
https://support.microsoft.com/ja-jp/help/413884
https://www.ka-net.org/blog/?p=5725
https://ameblo.jp/gidgeerock/entry-12037921839.h …

Sub 列に文字列()
 Dim busplace As Cell
  For Each busplace In ActiveDocument.Tables(1).Columns(3).Cells
   If busplace.Range.Text Like "*" Then
    busplace.Range.Text = "文字列"
   End If
  Next
End Sub


選択範囲の最初のセル位置は、Information プロパティで取得できます。
https://support.microsoft.com/ja-jp/help/410949
https://msdn.microsoft.com/ja-jp/library/microso …

選択範囲の数は、Cells.Count プロパティ で取得できます。
https://msdn.microsoft.com/ja-jp/VBA/word-vba/ar …

これらの組み合わせで、選択範囲の列やセル範囲などを指定できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!