Поделиться через


Практическое руководство. Изменение форматирования в строках листа, содержащих выбранные ячейки

Обновлен: Ноябрь 2007

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Тип проекта

  • Проекты уровня документа

  • Проекты уровня приложения

Версия Microsoft Office

  • Excel 2003

  • Excel 2007

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

Можно изменить шрифт всей строки, содержащей выбранную ячейку, сделав ее текст жирным.

Преобразование текущей строки в жирную и возвращение предыдущей жирной строке нормального форматирования

  1. Объявите статическую переменную для отслеживания предыдущей выбранной строки.

    Static previousRow As Integer = 0
    
    static int previousRow = 0;
    
  2. Извлеките ссылку на текущую ячейку с помощью свойства ActiveCell.

    Dim currentCell As Excel.Range = Me.Application.ActiveCell
    
    Excel.Range currentCell = this.Application.ActiveCell;
    
  3. Примените к текущей строке стиль жирного написания с помощью свойства активной ячейки EntireRow.

    currentCell.EntireRow.Font.Bold = True
    
    currentCell.EntireRow.Font.Bold = true; 
    
  4. Убедитесь, что текущее значение previousRow не равно "0". Значение "0" (нуль) означает, что код выполняется впервые.

    If previousRow <> 0 Then
    
    if (previousRow != 0)
    
  5. Убедитесь, что текущая строка отличается от предыдущей.

    If currentCell.Row <> previousRow Then
    
    if (currentCell.Row != previousRow)
    
  6. Извлеките ссылку на диапазон, представляющий ранее выбранную строку, а затем отмените жирное начертание для этой строки.

    Dim rng As Excel.Range = DirectCast(ws.Rows(previousRow), Excel.Range)
    rng.EntireRow.Font.Bold = False
    
    Excel.Range rng = (Excel.Range)ws.Rows[previousRow, missing];
    rng.EntireRow.Font.Bold = false;
    
  7. Сохраните текущую строку, чтобы она стала предыдущей строкой при следующем проходе.

    previousRow = currentCell.Row
    
    previousRow = currentCell.Row;
    

Ниже приведен полный пример метода.

Пример

Private Sub BoldCurrentRow(ByVal ws As Excel.Worksheet)

    ' Keep track of the previously bolded row.
    Static previousRow As Integer = 0

    ' Work with the current active cell.
    Dim currentCell As Excel.Range = Me.Application.ActiveCell

    ' Bold the current row.
    currentCell.EntireRow.Font.Bold = True

    ' If a pass has been done previously, make the old row not bold.
    ' Make sure previousRow is not 0 (otherwise this is your first pass through).
    If previousRow <> 0 Then

        ' Make sure the current row is not the same as the previous row.
        If currentCell.Row <> previousRow Then

            Dim rng As Excel.Range = DirectCast(ws.Rows(previousRow), Excel.Range)
            rng.EntireRow.Font.Bold = False
        End If
    End If

    ' Store the new row number for the next pass.
    previousRow = currentCell.Row
End Sub
// Keep track of the previously bolded row.
static int previousRow = 0;

private void BoldCurrentRow(Excel.Worksheet ws)
{
    // Work with the current active cell.
    Excel.Range currentCell = this.Application.ActiveCell;

    // Bold the current row.
    currentCell.EntireRow.Font.Bold = true; 

    // If a pass has been done previously, make the old row not bold.
    // Make sure previousRow is not 0 (otherwise this is your first pass through).
    if (previousRow != 0)

        // Make sure the current row is not the same as the previous row.
        if (currentCell.Row != previousRow)
        {
            Excel.Range rng = (Excel.Range)ws.Rows[previousRow, missing];
            rng.EntireRow.Font.Bold = false;
        }

    // Store the new row number for the next pass.
    previousRow = currentCell.Row;
}

См. также

Задачи

Практическое руководство. Применение стилей к диапазонам в рабочих книгах

Практическое руководство. Копирование данных и форматирование по листам

Основные понятия

Работа с листами

Общие сведения о необязательных параметрах в решениях Office