如何使用 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