DioDocs for Excel
DioDocs for Excel
数式のローカライズ
機能 > 数式 > 数式のローカライズ

DioDocs for Excelでは、IRangeインタフェースのFormulaLocalプロパティとFormulaR1C1Localプロパティを使用して、ワークシートのセルにローカライズされた数式を取得または設定できます。例えば、英語版のExcelでこのプロパティを使用して数式を設定すると、日本語版のExcelにて開いた場合、同等のローカライズされた数式を使用する結果が表示されます。

メモ: このプロパティは、日本語と中国語のカルチャに対してのみローカライズされた数式をサポートします。

ワークブックのカルチャを日本語に設定し、FormulaLocalプロパティを使用してASC関数とJIS関数を設定して、ローカライズされた関数名を取得する方法については、次のサンプルコードを参照してください。

C#
コードのコピー
//新しいワークブックを作成します
var workbook = new GrapeCity.Documents.Excel.Workbook();

workbook.Culture = CultureInfo.GetCultureInfo("ja-JP");
var sheet = workbook.ActiveSheet;

sheet.Range["$A$1:$A$3"].Value = new[,]
{
{"Original"},
{"ゴールドシップは1番人気です。"},
{"Halfwidth"}
};

sheet.Range["A5"].Value = "Fullwidth";

var a4 = sheet.Range["A4"];
var a6 = sheet.Range["A6"];

//同等:数式= "ASC(A2)"
//ASC関数は日本語環境でローカライズされた名前はありませんからです
a4.FormulaLocal = "=ASC(A2)";

//同等:数式= "DBCS(A2)"
//日本語環境ではDBCS関数の代わりにJIS関数が使用されます
a6.FormulaLocal = "=JIS(A2)";

//さまざまな数式のプロパティを比較します
sheet.Range["$B$1:$F$1"].Value = new[,]
{
{nameof(IRange.FormulaLocal), nameof(IRange.Formula),
nameof(IRange.FormulaR1C1Local), nameof(IRange.FormulaR1C1)}
};

sheet.Range["$B$4:$E$4"].Value = new[,]
{
{a4.FormulaLocal, a4.Formula, a4.FormulaR1C1Local, a4.FormulaR1C1}
};

sheet.Range["$B$6:$E$6"].Value = new[,]
{
{a6.FormulaLocal, a6.Formula, a6.FormulaR1C1Local, a6.FormulaR1C1}
};

//レイアウトを整列します
sheet.UsedRange.Columns.AutoFit();
sheet.PageSetup.IsPercentScale = false;
sheet.PageSetup.FitToPagesWide = 1;
sheet.PageSetup.PrintHeadings = true;

//PDFファイルに保存します
workbook.Save("formulalocalandjis.pdf");
}

上記のコードを使用して、次の画像ように結果を表示します。

jis and asc function with localized formula properties

メモ: Excelはマルチバイト文字列変換をサポートしていませんので、出力はPDFファイルに保存しています。