Seçili hücreleri içeren çalışma sayfası satırlarındaki biçimlendirmeyi program aracılığıyla değiştirme

Seçili hücreyi içeren bir satırın tamamının yazı tipini, metnin kalın olması için değiştirebilirsiniz.

Şunlar için geçerlidir: Bu konudaki bilgiler, Excel için belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.

Geçerli satırı kalın ve daha önce kalın yazılmış satırı normal hale getirmek için

  1. Daha önce seçilen satırı izlemek için statik bir değişken bildirin.

    static int previousRow = 0;
    
  2. özelliğini kullanarak geçerli hücreye başvuru alın ActiveCell .

    Excel.Range currentCell = this.Application.ActiveCell;
    
  3. Etkin hücrenin özelliğini kullanarak geçerli satıra EntireRow kalın stil ekleyin.

    currentCell.EntireRow.Font.Bold = true;
    
  4. geçerli değerinin previousRow 0 olmadığından emin olun. 0 (sıfır), bunun bu kod aracılığıyla ilk kez olduğunu gösterir.

    if (previousRow != 0)
    
  5. Geçerli satırın önceki satırdan farklı olduğundan emin olun.

    if (currentCell.Row != previousRow)
    
  6. Daha önce seçilen satırı temsil eden bir aralığa başvuru alın ve bu satırı kalın olmayacak şekilde ayarlayın.

    Excel.Range rng = (Excel.Range)ws.Rows[previousRow];
    rng.EntireRow.Font.Bold = false;
    
  7. Geçerli satırı bir sonraki geçişte önceki satır olacak şekilde depolayın.

    previousRow = currentCell.Row;
    

    Aşağıdaki örnekte tam yöntem gösterilmektedir.

Örnek

// 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];
            rng.EntireRow.Font.Bold = false;
        }

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