Как уменьшить заголовок до одной строки в MS Word, используя VBA
Я создаю документы, используя VBA в Word с данными, извлекаемыми из 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
FYI: tblTitle
является таблицей слов и объявлена как таковая далее в коде.
1 ответ
Эта страница говорит, что вы должны уменьшить 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