Добрый всем вечер! Создал программно Shapes.AddTextBox... вручную в нём могу выделять диапазон, как хочу. Программного решения этого действия я не нашёл. Максимум до чего дошёл - выделение произвольного символа, но не диапазона. [vba]
[/vba] возможно ли? Мне необходимо в определённых участках текста задать необходимое форматирование (разное).
Добрый всем вечер! Создал программно Shapes.AddTextBox... вручную в нём могу выделять диапазон, как хочу. Программного решения этого действия я не нашёл. Максимум до чего дошёл - выделение произвольного символа, но не диапазона. [vba]
Sub d() Dim start&, count& start = 3: count = 5 Dim rng As Range With ActiveDocument.Shapes(1).TextFrame.TextRange Set rng = .Characters(start) rng.End = .Characters(start + count).End rng.Select End With End Sub
[/vba]
Здравствуйте. Как-то так можно [vba]
Код
Sub d() Dim start&, count& start = 3: count = 5 Dim rng As Range With ActiveDocument.Shapes(1).TextFrame.TextRange Set rng = .Characters(start) rng.End = .Characters(start + count).End rng.Select End With End Sub
krosav4ig, Спасибо большое! макрос работает. rng у меня отображается как range. Я вчера часа 3 изучал деревья свойств объектов и их функции в мануале смотрел - не увидел там таких range. Что же это за невидимый объект,который не отображается у объекта: [vba]
Код
Set o = ActiveDocument.Shapes(1).TextFrame.TextRange.Characters
[/vba] в окошке Locals. Я так понимаю, это объекты First и Last являются составляющими этого объекта Range, благодаря которому мы можем выполнить такое выделение?
krosav4ig, Спасибо большое! макрос работает. rng у меня отображается как range. Я вчера часа 3 изучал деревья свойств объектов и их функции в мануале смотрел - не увидел там таких range. Что же это за невидимый объект,который не отображается у объекта: [vba]
Код
Set o = ActiveDocument.Shapes(1).TextFrame.TextRange.Characters
[/vba] в окошке Locals. Я так понимаю, это объекты First и Last являются составляющими этого объекта Range, благодаря которому мы можем выполнить такое выделение?Roman777
а если через Object Browser? в VBE жмем F2, в поле поиска пишем TextRange, жмем Enter, выбираем строку из результатов поиска, соответствующую классу предка (столбец Class, в нашем случае TextFrame) Видим внизу
Цитата
Property TextRange AsRange read-only Member ofWord.TextFrame
=> объект TextRange это экземпляр класса Range тыкаем внизу по зелененькому Range, выбираем справа (Members of 'Range') Characters Видим внизу
Цитата
Property Characters AsCharacters read-only Member ofWord.Range
тыкаем внизу по зелененькому Characters, выбираем справа (Members of 'Characters') Item Видим внизу
Цитата
Function Item(Index As Long) AsRange Default member ofWord.Characters
Обращаем внимание на
Цитата
Default
=> Characters(i) = Characters.Item(i) и на класс возвращаемого объекта
Цитата
AsRange
=> Characters(i) это экземпляр класса Range
а если через Object Browser? в VBE жмем F2, в поле поиска пишем TextRange, жмем Enter, выбираем строку из результатов поиска, соответствующую классу предка (столбец Class, в нашем случае TextFrame) Видим внизу
Цитата
Property TextRange AsRange read-only Member ofWord.TextFrame
=> объект TextRange это экземпляр класса Range тыкаем внизу по зелененькому Range, выбираем справа (Members of 'Range') Characters Видим внизу
Цитата
Property Characters AsCharacters read-only Member ofWord.Range
тыкаем внизу по зелененькому Characters, выбираем справа (Members of 'Characters') Item Видим внизу
Цитата
Function Item(Index As Long) AsRange Default member ofWord.Characters
Обращаем внимание на
Цитата
Default
=> Characters(i) = Characters.Item(i) и на класс возвращаемого объекта
Цитата
AsRange
=> Characters(i) это экземпляр класса Rangekrosav4ig
krosav4ig, ого! спасибо ещё раз за такие подробные разъяснения. Вродебы уже не первый день юзаю ВБА, но про окошко Object Browser ни слухом ни духом. Всё по дереву в Locals изучал... а тут вот оно гораздо подробнее развёрнуто и даже в mdsn не нужно лезть...=)
krosav4ig, ого! спасибо ещё раз за такие подробные разъяснения. Вродебы уже не первый день юзаю ВБА, но про окошко Object Browser ни слухом ни духом. Всё по дереву в Locals изучал... а тут вот оно гораздо подробнее развёрнуто и даже в mdsn не нужно лезть...=)Roman777