Операции с диапазоном слов в VBA кажутся разными - PullRequest
3 голосов
/ 03 сентября 2010

При использовании или настройке диапазонов некоторые диапазоны ведут себя иначе, чем другие диапазоны. Например,

ActiveDocument.Range(10, 20).Select
ActiveDocument.Tables(2).Cell(1, 1).Range(10, 20).Select

Первая строка, если все в порядке и работает, как ожидалось. Вторая строка выдает ошибку в операторе Range, хотя кажется, что для этого две строки должны быть идентичны.

В чем разница?

1 Ответ

3 голосов
/ 03 сентября 2010

Range для Cell - это свойство, а не метод - оно возвращает диапазон документа, представленного ячейкой.

Это означает, что вы не можете добавлять аргументы, такие как (10,20).

Следующее эквивалентно:

 Dim rangeStart As Integer
 rangeStart = ActiveDocument.Tables(2).Cell(1, 1).Range.Start
 ActiveDocument.Range(rangeStart + 10, rangeStart + 20).Select
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...