OpenXML を使用して Excel で名前付き範囲を作成しようとしています。DefinedNames コレクションに DefinedName を追加することはできますが、何もしていないようです。範囲の名前が保存されている ExtendedFileProperties の場所、「TitlesOfParts」と呼ばれる構造に気付きました。そこにエントリを追加しようとしましたが、Excel でエラーが発生し、名前付き範囲が作成されません。私が使用しているコードは次のとおりです。
public void AddNamedRange(string pNamedRangeRef, string pNamedRangeName)
{
DefinedName _definedName = new DefinedName() { Name = pNamedRangeName, Text = pNamedRangeRef };
_workbook.Descendants<DocumentFormat.OpenXml.Spreadsheet.DefinedNames>().First().Append(_definedName);
DocumentFormat.OpenXml.VariantTypes.VTLPSTR _t = new DocumentFormat.OpenXml.VariantTypes.VTLPSTR() { Text = pNamedRangeName };
_spreadsheet.ExtendedFilePropertiesPart.Properties.TitlesOfParts.VTVector.Append(_t);
_spreadsheet.ExtendedFilePropertiesPart.Properties.TitlesOfParts.VTVector.Size++;
}