1

Тема: Автоматическое выделение цветом строк таблицы

Добрый день.
Нужна помощь знающих людей...

В word есть таблица. В одном из столбцов (столбец 5) присутствует дата. Необходимо, если это вообще возможно, сделать автоматическое выделение красным цветом всей строки, при условии, что дата просрочена на текущий момент. И еще, если до истечении даты осталось 15 дней, то выделить это строку желтым цветом.

Пример таблицы в приложении.

Post's attachments

!Приборы для копир. в протоколы!.docx 22.88 Кб, 2 скачиваний с 2015-02-09 

You don't have the permssions to download the attachments of this post.

2

Re: Автоматическое выделение цветом строк таблицы

Покраска строки Вашей таблицы (из 7 столбцов) в красный и желтый цвета:

Sub LineRed()
    Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
    Selection.MoveRight Unit:=wdCharacter, Count:=7, Extend:=wdExtend
    Selection.Shading.Texture = wdTextureNone
    Selection.Shading.ForegroundPatternColor = wdColorAutomatic
    Selection.Shading.BackgroundPatternColor = wdColorRed
End Sub
Sub LineYellow()
    Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
    Selection.MoveRight Unit:=wdCharacter, Count:=7, Extend:=wdExtend
    Selection.Shading.Texture = wdTextureNone
    Selection.Shading.ForegroundPatternColor = wdColorAutomatic
    Selection.Shading.BackgroundPatternColor = wdColorYellow
End Sub
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

3

Re: Автоматическое выделение цветом строк таблицы

Для обхода текущей таблицы по строкам попробуйте выполнить следующие действия:

Sub CellsInRow1()
'Обход всех ячеек таблицы по строкам
   Dim rngTable As Range
   Dim oTable As Table
   Dim oRow As Row
   Dim oCell As Cell
   Dim sStr As String
   Set rngTable = Selection.Range
   Set oTable = Selection.Tables(1)
      If Not rngTable.Information(wdWithInTable) Then
          MsgBox prompt:="Курсор находится вне таблицы"
      Else
      With oTable
         For Each oRow In .Rows
            For Each oCell In oRow.Cells
                    'Сюда можно вставить текст обработки ячеек
            Next oCell
         Next oRow
      End With
   End If
End Sub
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

4

Re: Автоматическое выделение цветом строк таблицы

Как стоки таблицы не знаю, а текст покрасить вполне можно с помощью полей:
{ If Z = 1 "Красный" "Желтый" }
Поле выводит Красный, если закладка Z содержит 1, иначе – Желтый.
Если эти слова раскрасить, то…

Макросы под заказ и готовый пакет - mtdmacro.ru