Некоторый код работает нормально, когда выполняется шаг за шагом, но не работает при использовании за один раз - PullRequest
0 голосов
/ 02 июля 2019

Я использовал свойство Range.end для достижения моей цели установки данных в ячейку таблицы на определенное количество строк. Для этого сначала я вычисляю мгновенную высоту ячейки, а затем продолжаю изменять ширину ячейки для достижения заданной высоты ячейки.

Это свойство при использовании в пошаговом выполнении дает правильное значение, и я могу достичь заданной высоты ячейки. Range.end продолжает возвращать то же значение даже после изменения высоты ячейки, которое должно было изменить значение range.end

'the table acted upon has 2 rows and one column and the column width as already 'set to some small value

With ActiveDocument.Tables(tableIndexTemp + 1)

'calculate cell height
posEnd = .Cell(1, 1).Range.End - 1
heightDaisRow = ActiveDocument.Range(posEnd, _ posEnd).Information(wdVerticalPositionRelativeToTextBoundary)

Do While heightDaisRow > minHeightDaisRow

'increase cell width
.Columns(1).Width = .Columns(1).Width + CentimetersToPoints(0.1)

'again calculate cell height
posEnd = .Cell(1, 1).Range.End - 1
heightDaisRow = ActiveDocument.Range(posEnd, _ posEnd).Information(wdVerticalPositionRelativeToTextBoundary)

Loop

End With

При пошаговом выполнении значение posEnd изменяется с изменением ширины, но когда один и тот же код выполняется за один раз, значение posEnd не изменяется, что приводит к увеличению ширины ячейки и отображает ошибка

Ширина ячейки не может быть больше, чем это конкретное значение '.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...