Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/140: Рейтинг темы: голосов - 140, средняя оценка - 4.94
peaceowner
1

Выделение отдельной строки в ячейке таблицы Word

16.12.2010, 19:34. Показов 26869. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята хелп ми, уже из сил выбился. Как выделить отдельную строку в ячейке таблицы Word? Ставлю курсор в начало строки и пробую различные методы типа MoveEnd(), EndOf(), MoveEndUntil() и другие. Все эти методы выделяют ВСЕ строки ячейки. Я даже в ворде проверил, поставил курсор на начало 2ой(из 4ех) строки ячейки и нажал клавишу End с зажатым Шифтом. В итоге выделились ВСЕ строки ячейки включая первую. Опытным путем установил, что двигаться нужно посимвольно, тогда строка выделяется как надо. Вопрос, как мне переместить выделение до последнего символа последней строки ячейки? Вообще пишу на Делфи, но все методы из ВБА. Помогите плиз.

З.Ы. Забыл сказать, что строки ничем не разделены. Знаков переноса каретки нет, т.е. клавиша "интер" не нажималась, а просто сплошняком заполнялся текст в ячейку.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2010, 19:34
Ответы с готовыми решениями:

Word 2007: Удалить строки в ячейке таблицы
Здравствуйте, как можно средствами VBA удалить во втором столбце таблицы строки, оставив только...

Как перемещать курсор в Word в ячейке таблицы
можно ли перемещать курсор в Ворд в ячейке таблицы, в начало ячейки и обратно, если в ячейке...

Выделить вторую строку в ячейке таблицы | Word
Здравствуйте Коллеги! Прошу помощи в решении следующей задачи. Есть таблица в ней ячейка...

Изменить цвет части текста в ячейке таблицы в Word
Добрый день уважаемые знатоки)) Никак не могу справится со следующей задачей: С помощью VBA кода...

9
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
16.12.2010, 20:29 2
АктивеДокумент.Таблес(1).Ровс(1).Селект
ОК???
1
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 544
16.12.2010, 20:30 3
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Клавиатурой это Shift+End, почему у Вас это не работает, непонятно. По крайней мере в моем любимом 97 все нормально.
1
peaceowner
16.12.2010, 20:48 4
Всем спасибо, разобрался наконец) Узнал позиции первого и последнего символов желаемого выделения. А дальше при помощи SetRange установил нужное мне выделение.

kukuruku310
Не выделяется с помощью Енд именно в таблице. Видимо это так и нужно. Если текст набран вне таблицы, то помещая курсор в середину строки, при нажатии Шифт+Енд выделение происходит с середины до конца, как и должно быть. В ячейке кроме как посимвольно похоже не выделишь.
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
17.12.2010, 03:30 5
Что Вам здесь
Visual Basic
1
ActiveDocument.Tables(1).Rows(1).Cells(2).Select
и здесь
Visual Basic
1
Номер_текущей_таблицы_где_находится_курсор = ActiveDocument.Range(0, Selection.Tables(1).Range.End).Tables.Count
не понравилось
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 544
17.12.2010, 12:32 6
да хоть в таблице, хоть в тексте, Shift+End работает одинаково, проверьте настройки Word. Я сам не пользуюсь ничем, кроме 97, поэтому конкретнее сказать не могу.
Миниатюры
Выделение отдельной строки в ячейке таблицы Word  
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 544
17.12.2010, 14:46 7
Щательнее подумавши еще добавлю: в последней строке ячейки действительно будет выделять весь текст целиком. Во избежание, наиболее просто, моно сделать финт ушами: запомнить текущую позицию Range - это будет начало диапазона, а для определения его конца перейти в конец строки без выделения. Как второй вариант, использовать переход в начало (Shift+Home), который, в отличие от Shift+End, всегда срабатывает одинаково, но это более заморочно, если выделять не от начала строки.
0
72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
27.02.2012, 18:11 8
в эту же тему
подскажите как выделить несколько символов в одной ячейке (в Word)
что-то типа
Visual Basic
1
set myrange=ActiveDocument.Tables(1).Cell(Row:=i,Column:=2).Range(start:=kk, end:=kkk)
но так, естественно не работает.

я так поняла peaceowner, разобрался...?
0
1584 / 554 / 71
Регистрация: 10.04.2009
Сообщений: 9,034
27.02.2012, 18:30 9
Visual Basic
1
2
3
4
Последних_знака = 3
'... последних знака в 2 таблице, 3 строке, 4 ячейке выделить цветом ...
'1 в строке кода это последний знак в таблице - концевая сноска
ActiveDocument.Range(ActiveDocument.Tables(2).Rows(3).Cells(4).Range.End - 1 - Последних_знака, ActiveDocument.Tables(2).Rows(3).Cells(4).Range.End - 1).HighlightColorIndex = wdYellow
2
72 / 64 / 3
Регистрация: 13.05.2010
Сообщений: 349
27.02.2012, 18:50 10
Ципихович Эндрю, Спасибо!!
все работат.
0
27.02.2012, 18:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2012, 18:50
Помогаю со студенческими работами здесь

VBA Word Определить номер параграфа в ячейке таблицы
Доброго времени суток. Работаю с ячейкой таблицы в word. Задача взять из нее, например первых три...

Выделение цветом строки в Excel в зависимости от значения в ячейке
Задача такая: На листе Ексель есть несколько строк со значениями. Если в 13 столбце какой-нибудь...

Из таблицы Exel выбирает все строки с нечетным номерами и вставляет эти данные в Word в четные строки таблицы
Написать код VBA при нажатии на кнопку, который из таблицы Exel выбирает все строки с нечетным...

Извлечение части текста из ячеек и суммирование извлеченного в отдельной ячейке
Здравствуйте. У меня вопрос по VBA. Он извлекает в ячейку D8 - часть текста из H8, между...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru