В проекте VSTO для Excel, написанном на C#, мне нужно получить объект Range из строкового списка ячеек.
Вот упрощенная версия проблемы:
string strRange = "A1:A2,A5";
Excel.Range r = sheet.get_Range(strRange);
Однако, поскольку разделитель списка может отличаться от запятой в разных настройках культуры, я фактически использую это:
listSep = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator;
string strRange = "A1:A2" + listSep + "A5";
Excel.Range r = sheet.get_Range(strRange);
Моя проблема заключается в том, что когда пользователь меняет «Десятичный разделитель» в «Параметры Excel»> «Дополнительно» (Application.DecimalSeparator), чтобы он соответствовал ListSeparator, это не сработает.
Как правильно вызвать get_Range со строкой, указывающей диапазон?
РЕДАКТИРОВАТЬ: небольшое изменение, чтобы добавить информацию о моем комментарии ниже.
Cell1:Cell2,Cell3
afaik — так работает API, иListSeparator
не должен влиять на него. Однако в этом ответе есть альтернативное предложение: stackoverflow.com/questions/6155182/ - person dash   schedule 24.09.2012