私は場所を見渡してさまざまなことを試しました。それはできないと仮定されています。だから私はここで試して誰か他の人が運があるかどうかを調べるつもりです。Wordのテーブル行の高さを取得する方法
行のHeightRule
がwdRowHeightAuto
に設定されている場合、Wordでテーブル行の高さを取得する方法はありますか?
代わりに、セルの高さを取得する方法がある場合は、行の最大セルを見つけることで行の高さを計算できるので、これを解決策として受け入れます。
私は場所を見渡してさまざまなことを試しました。それはできないと仮定されています。だから私はここで試して誰か他の人が運があるかどうかを調べるつもりです。Wordのテーブル行の高さを取得する方法
行のHeightRule
がwdRowHeightAuto
に設定されている場合、Wordでテーブル行の高さを取得する方法はありますか?
代わりに、セルの高さを取得する方法がある場合は、行の最大セルを見つけることで行の高さを計算できるので、これを解決策として受け入れます。
不正行為はどうですか?
Dim tbl As Word.Table
Dim r As Row
Dim c As Cell
Set tbl = ActiveDocument.Tables(1)
For Each r In tbl.Rows
iHeight = r.HeightRule
r.HeightRule = 1
Debug.Print r.Height
r.HeightRule = iHeight
Next
私は上記を試してみましたが、HeightRuleを変更すると、私は事前に私のテーブルに表示される内容の高さを「凍結」にしようとしています与えられた、行の高さを変更することがわかった、上記のナンセンスになります。空になっているフォントサイズを加算一貫した段落書式で開封された1段落のテキストを含む行については
次のように、前後のパラが動作することができますが:
Set r = c.Row
With r
If .HeightRule <> wdRowHeightExactly Then
.HeightRule = wdRowHeightExactly
Set p = c.Range.ParagraphFormat
.Height = c.BottomPadding + c.TopPadding + p.SpaceBefore + p.SpaceAfter + p.LineSpacing
End If
End With
それは行を見つけることが可能ですRange.Information()で高さ。次のコードは、これは選択された行と次との間の位置の差を計算することによって、点の行の高さを返し
Dim Tbl as Table
Dim RowNo as Integer
Dim RowHeight as Double
' set Tbl and RowNo to the table and row number you want to measure
RowHeight=Tbl.Rows(RowNo+1).Range.Information(wdVerticalPositionRelativeToPage) _
- Tbl.Rows(RowNo).Range.Information(wdVerticalPositionRelativeToPage)
ページの表の最後の行または最後の行のために動作しません1。
私はすべての場合に機能し、セル内の2番目以降の行のポイントで高さを返します。つまり、1行のセルは0を返します。これは、フォントサイズを小さくするアプリケーションで使用します特定のセルでテキストを1行に収めることができます)。
Dim Doc As Document
Dim Tbl As Table
Dim Pos As Long
Dim RowNo As Integer
Dim ColNo As Integer
Dim CellHeight As Single
' set Doc, Tbl, RowNo and Colno to the document,table and row number you want to
' measure or provide a cell's range if you prefer
Pos = Tbl.Cell(RowNo, ColNo).Range.End - 1 ' last character in cell
CellHeight = Doc.Range(Pos, Pos).Information(wdVerticalPositionRelativeToTextBoundary)
これは単純なドキュメントで機能します。しかし、私は高さを取得しようとしている間に進行中の他の処理があります。だから、私は決してドキュメントを変更することを伴わないソリューションを探しています。 – Joe
より良い方法はありません。 – Joe