Quantcast
Channel: みんなのワードマクロ
Viewing all articles
Browse latest Browse all 496

【Wordマクロ】表の特定の行の列数を調べる

$
0
0

最近作成しているマクロで、表内のカーソル位置(又は、Rangeオブジェクトの位置)の行の列数を判定する必要がありました。

そのときに作ったマクロです。翻訳では使えません(笑)。


▼このマクロでできること

表内にカーソルを置いた場合、その行の列数を調べてメッセージボックスで表示します。







▼マクロの解説

Information プロパティを用いて、カーソルがある位置の行数を調べます。

wdEndOfRangeRowNumber を用いているので、選択範囲の一番末尾の行数を取得します。

なので、以下のようになります。




カーソル位置の表は、Tables(1) とすると指定できます。

行の列数もInformationプロパティを用います。

表の行のRangeオブジェクトを指定して、Information(wdMaximumNumberOfColumns) として取得します。

これ以外にも、行のRangeオブジェクト内にセルがいくつあるのか数えれば、列数になります。
コメントアウトしてありますが、同じ結果が得られます。


▼マクロ

Sub 行の列数を調べる()

 Dim myRange As Range
 Dim myRow As Integer
 Dim myMaxColumn As Integer
 Dim myColumn As Integer
 
 If Selection.Information(wdWithInTable) = True Then
  Set myRange = Selection.Range
  myRow = myRange.Information(wdEndOfRangeRowNumber)
  With myRange.Tables(1)
   myMaxColumn = .Columns.Count
   myColumn = .Rows(myRow).Range.Information(wdMaximumNumberOfColumns)
'   myColumn = .Rows(myRow).Cells.Count
  End With
  
  MsgBox "表の列数:" & myMaxColumn & vbCr & _
      "行の列数:" & myColumn
 
 End If

End Sub


▼関連記事

【Wordマクロ】表中の結合・分割セルの有無を判定する

【Wordマクロ】表中の結合されたセルを着色する

【Wordマクロ】入れ子の表のスタイルを設定する




Viewing all articles
Browse latest Browse all 496

Trending Articles