Имя: Пароль:
1C
1С v8
При программном сохранении файла Excel из 1С меняются русские наименования имен на аналоги
0 Vellosity
 
13.04.21
13:19
Всем привет. Помогите разобраться со сложившейся проблемой.

Установлен Офис 365. Имеется файл xlsx в котором в параметрах страницы на вкладке Лист настроены сквозные строки и сквозные столбцы (https://drive.google.com/file/d/1Lzkz1-sEd9aoVyLoiFy-m_yzAnLNckiG/view?usp=sharing). После ручной разметки в диспетчере имен появляется новое имя "Заголовки_для_печати" (https://drive.google.com/file/d/1m6eLzGvHOAdOTRV2gl5CauxuJH9jwzfm/view?usp=sharing).

Получаем COM объект экселя из 1С. После программного сохранения Книга.Save() заходим в файл и видим, что имя "Заголовки_для_печати" изменилось на аналогичное английское "Print_Titles" (https://drive.google.com/file/d/19fHJfAE1L1GT-W5_ZlmxvAQFEJ-1reF1/view?usp=sharing). Синтаксис на разных языках должен быть одинаковый по своей структуре, но с именем "Print_Titles" разметка не работает (https://drive.google.com/file/d/1n-hGV9XrJlBjl_L22_Ileqrtw-PF-hJc/view?usp=sharing). Если руками поменять имя Print_Titles на Заголовки_для_печати, то разметка снова начинает работать.
Сброс разметки сквозных строк и столбцов для меня критичен, т.к. пользователю придется каждый раз вручную выставлять разметку.
Как можно решить эту проблему, может быть кто-то сталкивался. Заранее спасибо за ответы!
1 Garykom
 
гуру
13.04.21
13:34
неуй печатать через ёксель, когда можно напрямую из 1С любой макет
2 Cthulhu
 
13.04.21
13:55
ActiveWorkbook.Worksheets("Лист1").Names("Print_Titles").Name = "Заголовки_для_печати"
3 Vellosity
 
14.04.21
10:18
(2) Спасибо! При программном переименовании обратно на русский язык разметка областей начинает работать. Сохраняет тоже правильно с русским наименованием. Оставлю такой вариант в обработке. Но всё равно не понятно почему происходит переименование при получении COM-объекта...
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан