プログラムによってブック内の範囲にスタイルを適用する

ブック内の領域に名前付きスタイルを適用できます。 Excel には、定義済みのスタイルがいくつか用意されています。

適用対象: このトピックの情報は、Excel のドキュメント レベルのプロジェクトおよび VSTO アドインのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

[セルの書式設定] ダイアログ ボックスには、セルの書式を設定するために使用できるすべてのオプションが表示されます。これらの各オプションはコードから使用できます。 Excel でこのダイアログ ボックスを表示するには、 [書式] メニューの [セル] をクリックします。

ドキュメント レベルのカスタマイズで名前付き範囲にスタイルを適用するには

  1. 新しいスタイルを作成し、その属性を設定します。

    Excel.Style style = Globals.ThisWorkbook.Styles.Add("NewStyle");
    
    style.Font.Name = "Verdana";
    style.Font.Size = 12;
    style.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
    style.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Gray);
    style.Interior.Pattern = Excel.XlPattern.xlPatternSolid;
    
  2. NamedRange コントロールを作成し、テキストを割り当て、新しいスタイルを適用します。 このコードは、 ThisWorkbook クラスではなく、シート クラスに配置する必要があります。

    Microsoft.Office.Tools.Excel.NamedRange rangeStyles =
        this.Controls.AddNamedRange(this.Range["A1"], "rangeStyles");
    
    rangeStyles.Value2 = "'Style Test";
    rangeStyles.Style = "NewStyle";
    rangeStyles.Columns.AutoFit();
    

ドキュメント レベルのカスタマイズで名前付き範囲からスタイルをクリアするには

  1. Normal スタイルを範囲に適用します。 このコードは、 ThisWorkbook クラスではなく、シート クラスに配置する必要があります。

    this.rangeStyles.Style = "Normal";
    

VSTO アドインで名前付き範囲にスタイルを適用するには

  1. 新しいスタイルを作成し、その属性を設定します。

    Excel.Style style = this.Application.ActiveWorkbook.Styles.Add("NewStyle");
    
    style.Font.Name = "Verdana";
    style.Font.Size = 12;
    style.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
    style.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Gray);
    style.Interior.Pattern = Excel.XlPattern.xlPatternSolid;
    
  2. Range を作成し、テキストを割り当て、新しいスタイルを適用します。

    Excel.Range rangeStyles = this.Application.get_Range("A1");
    
    rangeStyles.Value2 = "'Style Test";
    rangeStyles.Style = "NewStyle";
    rangeStyles.Columns.AutoFit();
    

VSTO アドインで名前付き範囲からスタイルをクリアするには

  1. Normal スタイルを範囲に適用します。

    Excel.Range rng = this.Application.get_Range("A1");
    rng.Style = "Normal";