Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Выбор столбца таблицы Word  (Прочитано 10776 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Саша
Гость
« : 10-11-2009 20:40 » new

Всем привет:)

Помогите советом. Улыбаюсь Нужно выбрать из всей таблицы первый столбец и в нём произвести поиск (например, все 5 заменить на 1), я вот что-то уже с этим столбцом запарился, понять не могу, как работает SelectColumn, вот код написал:

Код:
 Selection.Find.Replacement.ClearFormatting
        Selection.Find.ClearFormatting
        A = ActiveDocument.Tables(1).Columns(1)
        Selection.SelectColumn
        A.Find.Text = "5"
        A.Find.Replacement.Font.Superscript = True
        A.Find.Replacement.Font.Subscript = False
        A.Find.Replacement.Text = "йцукен"
       A.Find.Forward = True
        A.Find.Wrap = wdFindContinue
        A.Find.Format = True
        A.Find.MatchCase = False
        A.Find.MatchWholeWord = False
        A.Find.MatchWildcards = False
        A.Find.MatchSoundsLike = False
        A.Find.MatchAllWordForms = False
        A.Find.Execute Replace:=wdReplaceAll

Вот эти строки - это, как я думаю, выбор первого столбца:
 A = ActiveDocument.Tables(1).Columns(1)- в этой строке выдаёт ошибку, что, мол, Отсутствует доступ к отдельным столбцам, поскольку ячейки таблицы имеют разную ширину.
 
Selection.SelectColumn

« Последнее редактирование: 11-11-2009 06:34 от Sel » Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #1 : 11-11-2009 05:28 » 

в таблице нет объединенных ячеек?
Записан

I Have Nine Lives You Have One Only
THINK!
Саша
Гость
« Ответ #2 : 11-11-2009 05:58 » 

в таблице нет объединенных ячеек?
Две последние строки, вроде как.

Подскажите тогда, как можно выбрать не целый столбец, а, например, все ячейки за исключением двух последних.
« Последнее редактирование: 11-11-2009 06:32 от Sel » Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #3 : 11-11-2009 10:20 » 

Код:
    'встаем на ячейку нужного столбца (здесь 1)
    ThisDocument.Tables(1).Cell(1, 1).Select
    'выделяем весь столбец
    Selection.SelectColumn
    'делаем замену
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "q"
        .Replacement.Text = "a"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll


ЗЫЖ применяйте "запись макросов" - очень хорошо помагает
Записан

I Have Nine Lives You Have One Only
THINK!
Саша
Гость
« Ответ #4 : 12-11-2009 08:09 » 

Спасибо!:)

Я сделал форму, там поле для ввода текста, вводишь номер столбца, и он проверяет этот столбец. Но есть у меня таблица (например), из 7 столбцов, если указать с 1 по 6, то всё проверяет, всё нормально, но как только указываю 7ой, то вылетает ошибка: Запрашиваемый номер семейства не существует.
В этой строке :ActiveDocument.Tables(1).Cell(4, num).Select
Я проверял через ActiveDocument.Tables(1).Columns.Count пишет, что их 7, не подскажЕте, что это может быть?


P.S. за ошибки извиняюсь, спешка чтоб её:)
« Последнее редактирование: 12-11-2009 10:11 от Саша » Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #5 : 12-11-2009 10:10 » 

посмотреть внимательней
если пишет нет, то значит нет
Записан

I Have Nine Lives You Have One Only
THINK!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines