如何使用 VBA 在 MS Word 中将标题缩减为一行
How to reduce title to one line in MS Word using VBA
我在 Word 中使用 VBA 创建文档,数据是从 Excel 中提取的。不幸的是,有时标题太长以至于它们被 Word 包裹起来。
我需要标题保持在一行中。我打算通过简单地更改字体大小来实现这一点,直到文本适合一行。
我在搜索这个问题的解决方案时遇到了 .ComputeStatistics(wdStatisticLines)
。
不幸的是,当我 运行 这段代码时,它一直告诉我我的文本有 0 行。 如何获取代码以提供正确的行数?
到目前为止,这是我的代码(只有相关部分):
'Set document title
Dim sLength As Integer
Dim rStatTitle As Range
Set rStatTitle = wkb.Worksheets("Daten2").Range("nfStatTitle") 'Fund Title
With tblTitle.cell(2, 1)
.Range.Text = rStatTitle.Cells(1, 1)
Do Until .Range.ComputeStatistics(wdStatisticLines) <= 1
sLength = Len(rStatTitle.Cells(1, 1))
.Range.Font.Size = .Range.Font.Size - 1
Loop
End With
仅供参考:tblTitle
是一个词 table 并在代码中进一步声明。
这个 page 说你应该缩小你的 Range
以便它排除单元格结束标记。
Dim newRange As Range
With tblTitle.cell(2, 1)
.Range.Text = rStatTitle.Cells(1, 1)
Set newRange = .Range
newRange.End = newRange.End -1
Do Until newRange.ComputeStatistics(wdStatisticLines) <= 1
我在 Word 中使用 VBA 创建文档,数据是从 Excel 中提取的。不幸的是,有时标题太长以至于它们被 Word 包裹起来。
我需要标题保持在一行中。我打算通过简单地更改字体大小来实现这一点,直到文本适合一行。
我在搜索这个问题的解决方案时遇到了 .ComputeStatistics(wdStatisticLines)
。
不幸的是,当我 运行 这段代码时,它一直告诉我我的文本有 0 行。 如何获取代码以提供正确的行数?
到目前为止,这是我的代码(只有相关部分):
'Set document title
Dim sLength As Integer
Dim rStatTitle As Range
Set rStatTitle = wkb.Worksheets("Daten2").Range("nfStatTitle") 'Fund Title
With tblTitle.cell(2, 1)
.Range.Text = rStatTitle.Cells(1, 1)
Do Until .Range.ComputeStatistics(wdStatisticLines) <= 1
sLength = Len(rStatTitle.Cells(1, 1))
.Range.Font.Size = .Range.Font.Size - 1
Loop
End With
仅供参考:tblTitle
是一个词 table 并在代码中进一步声明。
这个 page 说你应该缩小你的 Range
以便它排除单元格结束标记。
Dim newRange As Range
With tblTitle.cell(2, 1)
.Range.Text = rStatTitle.Cells(1, 1)
Set newRange = .Range
newRange.End = newRange.End -1
Do Until newRange.ComputeStatistics(wdStatisticLines) <= 1