Я хотел бы создать именованный диапазон в Excel из NetOffice, но я не могу понять, как вызвать этот метод. Независимо от входных данных, базовый объект Excel генерирует исключение COMException с общей c HRESULT 0x800A03E C Ошибка.
- Версия Excel Office 365, 16.0.13001, 64 бита
- Пакет NetOfficeFw, версия 1.7.4.11
У меня нет намека на то, что не так (синтаксис? Версия Excel? Версия NetOffice?). Есть ли известная ошибка в этом методе?
Спасибо за помощь!
private void CreateNameRange(Workbook wb, Range range)
{
try
{
Name existingName = (Name)wb.Names.FirstOrDefault(); //works fine if a name already exists in Excel
wb.Names.Add(); //throws
wb.Names.Add("name1"); //throws
wb.Names.Add("name1", range); //throws
wb.Names.Add("name1", range.Address); //throws
wb.Names.Add("name1", "F7"); //throws
wb.Names.Add("myName", "=Sheet1!$F$7:$I$13"); //throws
wb.Names.Add("myName", "'=Sheet1!$F$7:$I$13'"); //throws
if (_wb.ActiveSheet is Worksheet ws) {
ws.Names.Add("myname", "=Sheet1!$F$7:$I$13"); //throws as well
}
}
catch (COMException e)
{
//always ends up here with Inner Exception : COMException (HRESULT 0x800A03EC)
}
}