SPREAD for WPF 3.0J - GcSpreadSheet
言語パック
SPREAD for WPF 3.0J - GcSpreadSheet > 開発者ガイド > 数式と関数 > 言語パック

GcSpreadSheetは、ワークシートにて言語パックを使用することができます。

言語パックを使用することで、ワークシートの処理中に必要な言語を設定でき、関数名や数式のキーワードを設定した言語で表示できます。本機能は、必要な言語で関数エイリアスを作成して実現でき、ワークシートを簡単に管理できます。言語パックの各言語には、単純な計算と高度な計算の両方に使用できるローカライズされた関数が含まれています。

例えば、英語の言語パックである「SUM」関数は、フランス語の言語パックにて「SOMME」として定義されます。

使用可能な言語パック

CalcEngine関数名、特殊関数ロジック、CalcError名、数式キーワード、ブール値などをワークシートにローカライズして表示できる18個の組み込み言語パックが付属しています。また、スクリーンチップとともに他の単語や語句も特定の言語で表示できます。

デフォルトで日本語の言語パックが使用されます。現地語を使用するには、次の組み込み言語パックのリストから選択できます。

IWorkbookSetインタフェースのLanguagePackageプロパティを使用して上記の言語パックをワークブックに設定できます。

コードのコピー
// 数式をアサインします。
GcSpreadSheet.Workbook.ActiveSheet.Cells[0, 0].Formula = "Sum(1)";

// 「Spanish」言語パックを設定します。
GcSpreadSheet.Workbook.WorkbookSet.LanguagePackage = GrapeCity.Spreadsheet.Localization.LanguagePackage.Spanish;

// 「Spanish」言語で数式を取得します。
MessageBox.Show(GcSpreadSheet.Workbook.ActiveSheet.Cells[0, 0].Formula.ToString());
コードのコピー
'数式をアサインします。
GcSpreadSheet.Workbook.ActiveSheet.Cells(0, 0).Formula = "Sum(1)"

'「Spanish」言語パックを設定します。
GcSpreadSheet.Workbook.WorkbookSet.LanguagePackage = GrapeCity.Spreadsheet.Localization.LanguagePackage.Spanish

'「Spanish」言語で数式を取得します。
MessageBox.Show(GcSpreadSheet.Workbook.ActiveSheet.Cells(0, 0).Formula.ToString())

カスタム言語パック

ユーザーがカスタム言語パックを作成でき、関数名、数式キーワード、スクリーンチップ、ブール値、CalcError句などの言葉を特定の言語で表示できます。

カスタム言語パックを使用することで、特定の言語で関数名や数式名を表示できます。カスタム言語パックを作成して使用するには、次の手順を実行します。

  1. GrapeCity.Spreadsheet.Localization名前空間のLanguagePackageクラスを使用して関数アリアスとともにカスタム言語パックを作成します。
  2. IWorkbookSetインタフェースのLanguagePackageプロパティを使用してカスタム言語を割り当てます。
  3. カスタム言語パックを使用して、ワークシートでの数式を設定し、セル値を計算します。 

次の画像は、ワークシートにてカスタム定義された言語パックの実行例を示します。

 

次のサンプルコードは、カスタム言語パックを作成して使用する方法を示します。 

コードのコピー
        // 手順1 - カスタム言語パックを作成しBuiltinFunctionとStructuredItemSpecifierをマップします。
        GrapeCity.Spreadsheet.Localization.LanguagePackage languagePackage =
        new GrapeCity.Spreadsheet.Localization.LanguagePackage("CustomFrench", "francais");

        languagePackage.CreateFunctionAlias(GrapeCity.CalcEngine.BuiltinFunction.SUM, "SOMME");
        languagePackage.CreateFunctionAlias(GrapeCity.CalcEngine.BuiltinFunction.SUBTOTAL, "SOUS.TOTAL");
        languagePackage.MapAlias(GrapeCity.CalcEngine.StructuredItemSpecifiers.Headers, "En-tetes");
        languagePackage.MapAlias(GrapeCity.CalcEngine.StructuredItemSpecifiers.Totals, "Totaux");

        // 手順2 - LanguagePackageプロパティを使用してカスタム言語をアサインします。
        GcSpreadSheet.Workbook.WorkbookSet.LanguagePackage = languagePackage;

        // 手順3 - ワークシートに数式を設定し、セルの値を計算します。

        // セルのテキストと数式を設定します。
        GcSpreadSheet.Workbook.ActiveSheet.Cells[1, 1].Text = "Last Name";
        GcSpreadSheet.Workbook.ActiveSheet.Cells[1, 2].Text = "Value";
        GcSpreadSheet.Workbook.ActiveSheet.Cells[2, 1].Text = "Smith";
        GcSpreadSheet.Workbook.ActiveSheet.Cells[2, 2].Value = 50;
        GcSpreadSheet.Workbook.ActiveSheet.Cells[3, 1].Text = "Vil";
        GcSpreadSheet.Workbook.ActiveSheet.Cells[3, 2].Value = 10;
        GcSpreadSheet.Workbook.ActiveSheet.Cells[4, 1].Text = "Press";
        GcSpreadSheet.Workbook.ActiveSheet.Cells[4, 2].Value = 78;
        GcSpreadSheet.Workbook.ActiveSheet.Columns[0, 1].ColumnWidth = 140;
        GcSpreadSheet.Workbook.ActiveSheet.Columns[2, 3].ColumnWidth = 240;
        GcSpreadSheet.Workbook.ActiveSheet.Cells[0, 0].Formula = "SUM(2,120)";
        GcSpreadSheet.Workbook.ActiveSheet.Cells[0, 2].Formula = "SUBTOTAL(3, C3:C5 )";
        GcSpreadSheet.Workbook.ActiveSheet.Cells[0, 3].Activate();
    }

    private GrapeCity.Spreadsheet.Localization.LanguagePackage CreateCustomFrenchLanguagePackage()

    {

        GrapeCity.Spreadsheet.Localization.LanguagePackage languagePackage = new GrapeCity.Spreadsheet.Localization.LanguagePackage("CustomFrench", "francais");
        languagePackage.CreateFunctionAlias(GrapeCity.CalcEngine.BuiltinFunction.SUM, "SOMME");
        languagePackage.CreateFunctionAlias(GrapeCity.CalcEngine.BuiltinFunction.SUBTOTAL, "SOUS.TOTAL");
        return languagePackage;
    }

}
コードのコピー
    ' 手順1 - カスタム言語パックを作成しBuiltinFunctionとStructuredItemSpecifierをマップします。
    Dim languagePackage As GrapeCity.Spreadsheet.Localization.LanguagePackage =
    New GrapeCity.Spreadsheet.Localization.LanguagePackage("CustomFrench", "francais")

    languagePackage.CreateFunctionAlias(GrapeCity.CalcEngine.BuiltinFunction.SUM, "SOMME")
    languagePackage.CreateFunctionAlias(GrapeCity.CalcEngine.BuiltinFunction.SUBTOTAL, "SOUS.TOTAL")
    languagePackage.MapAlias(GrapeCity.CalcEngine.StructuredItemSpecifiers.Headers, "En-tetes")
    languagePackage.MapAlias(GrapeCity.CalcEngine.StructuredItemSpecifiers.Totals, "Totaux")

    ' 手順2 - LanguagePackageプロパティを使用してカスタム言語をアサインします。
    GcSpreadSheet.Workbook.WorkbookSet.LanguagePackage = languagePackage

    ' 手順3 - ワークシートに数式を設定し、セルの値を計算します。

    ' セルのテキストと数式を設定します。
    GcSpreadSheet.Workbook.ActiveSheet.Cells(1, 1).Text = "Last Name"
    GcSpreadSheet.Workbook.ActiveSheet.Cells(1, 2).Text = "Value"
    GcSpreadSheet.Workbook.ActiveSheet.Cells(2, 1).Text = "Smith"
    GcSpreadSheet.Workbook.ActiveSheet.Cells(2, 2).Value = 50
    GcSpreadSheet.Workbook.ActiveSheet.Cells(3, 1).Text = "Vil"
    GcSpreadSheet.Workbook.ActiveSheet.Cells(3, 2).Value = 10
    GcSpreadSheet.Workbook.ActiveSheet.Cells(4, 1).Text = "Press"
    GcSpreadSheet.Workbook.ActiveSheet.Cells(4, 2).Value = 78

Private Function CreateCustomFrenchLanguagePackage() As GrapeCity.Spreadsheet.Localization.LanguagePackage
    Dim languagePackage As GrapeCity.Spreadsheet.Localization.LanguagePackage = New GrapeCity.Spreadsheet.Localization.LanguagePackage("CustomFrench", "francais")
    languagePackage.CreateFunctionAlias(GrapeCity.CalcEngine.BuiltinFunction.SUM, "SOMME")
    languagePackage.CreateFunctionAlias(GrapeCity.CalcEngine.BuiltinFunction.SUBTOTAL, "SOUS.TOTAL")
    Return languagePackage
End Function