Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как из 1с создать в excel файле именованную область?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
Lada
Здравствуйте!
Подскажите пожалуйста как из 1с создать в excel файле именованную область.
Мне нужно на одном листе файла создать выпадающий список, который будет брать значения для списка со второго листа.
Вроде как самый простой способ - это назначить нужной области второго листа имя (к примеру name) и потом указать это в формуле
Лист1.Cells(1,3).Validation.Add(3, 1, 1, "=name") и т.д.


для помощи записала макрос в экселе который назначает области R1C1:R5C1 листа 'НужныйЛист' имя name
ActiveWorkbook.Names.Add Name:="name", RefersToR1C1:= _
"='НужныйЛист'!R1C1:R5C1"


но при отладке так и не разобралась с ActiveWorkbook.Names, где как искать и как добавлять.
Lada
в общем вроде заработало всё)
на всякий случай выложу примерчик

ЭксельОбъект = Новый COMОбъект("Excel.Application");
ЭксельОбъект.DisplayAlerts = 0;    
  
Книга1 = ЭксельОбъект.WorkBooks.Add("D:\book.xls");
Лист2 = Книга1.WorkSheets(2);
Лист2.Names.Add("name1","='Лист2'!R1C3:R6C3");
Книга1.SaveAs("D:\book.xls");

ЭксельОбъект.Quit();


да даже так работает
ЭксельОбъект = Новый COMОбъект("Excel.Application");
ЭксельОбъект.DisplayAlerts = 0;    
  
Книга1 = ЭксельОбъект.WorkBooks.Add("D:\book.xls");
Книга1.Names.Add("name1","='Лист2'!R1C3:R6C3");
Книга1.SaveAs("D:\book.xls");

ЭксельОбъект.Quit();
Vofka
Плюсую за оглашение варианта решения smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.