Какое максимально возможное количество символов может содержать имя листа excel
когда я пытаюсь установить длинное имя листа с помощью ruby и win32ole со следующим кодом:
Я получаю следующее:
версия 12.0 указывает, что я запускаю Excel 2007, но он жалуется, что имя рабочего листа слишком длинное. Я взглянул на Excel 2007 технические характеристики и ограничения как говорится в это связано ответа, и я не мог найти упоминания о таком пределе. (Попытка переименовать рабочий лист вручную предполагает, что может быть такой предел, однако)
есть ли предел, и это жесткий предел или тот, который можно изменить, изменив конфигурацию Excel?
формат файла позволит до 255-символьных имен листов, но если пользовательский интерфейс Excel не хочет, чтобы вы превышали 31 символ, не пытайтесь выйти за пределы 31. Приложение полно странных недокументированных ограничений и причуд, и подача его файлов, которые находятся в пределах спецификации, но не в пределах диапазона вещей, которые тестировщики бы протестировали, обычно вызывает действительно странное поведение. (Личный любимый пример: использование байт-кода Excel 4.0 для функции if() в файле со Строковой таблицей Excel 97 отключено кнопка панели инструментов для полужирного шрифта в Excel 97.)
переименование листа вручную в Excel, вы попали в предел 31 символов, поэтому я бы предложил, что это жесткий предел.
мое решение состояло в том, чтобы использовать короткий псевдоним (менее 31 символа), а затем написать все имя в ячейке 0.
Я использую следующий код vba, где filename-это строка, содержащая имя файла, которое я хочу, а функция RemoveSpecialCharactersAndTruncate определена ниже:
Я только что протестировал пару путей с помощью Excel 2013 на Windows 7. Я обнаружил, что общий предел пути составляет 213, а длина базового имени-186. По крайней мере, диалоговое окно ошибки для превышения длины базового имени ясно:
и попытка переместить не слишком длинное базовое имя в слишком длинный путь также очень ясна:
ошибка пути обманчива, хотя. Совершенно неконструктивным:
это ленивый Microsoft ограничение. Нет никаких оснований для этих произвольных ограничений длины, но, в конце концов, это реальная ошибка в диалоговом окне ошибки.
Читайте также: