ГлавнаяИнформацияРазработчикамДобавление в список выбора листов excel и обращение к ним

Добавление в список выбора листов excel и обращение к ним


Добавление в список выбора листов excel и обращение к ним


Процедура КнопкаВыполнитьНажатие(Кнопка)

Если ЭлементыФормы.Листы.Значение = "" Тогда
Предупреждение("Выберите лист", 5);
Возврат;
КонецЕсли;

Таблица = ПолучитьCOMОбъект(Файл);
// Извлекаем порядковый номер из текущего значения списка выбора
Индекс = Число(Сред(ЭлементыФормы.Листы.Значение, 1, Найти(ЭлементыФормы.Листы.Значение, ". ") - 1));
Лист = Таблица.Sheets(Индекс); // получаем лист по порядковому номеру

// Для примера получим значение из 1 строки 1 столбца в выбранном листе
Строка = 1;
Столбец = 1;

ПорядковыйНомер = Лист.Cells(Строка, Столбец).Value;

КонецПроцедуры

Процедура ФайлНачалоВыбора(Элемент, СтандартнаяОбработка)

ДиалогФыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогФыбораФайла.Фильтр = "Файлы xls (*.xls)|*.xls";
ДиалогФыбораФайла.Заголовок = "Выберите файл";
ДиалогФыбораФайла.ПредварительныйПросмотр = Ложь;
ДиалогФыбораФайла.Расширение = "xls";
ДиалогФыбораФайла.ИндексФильтра = 0;
ДиалогФыбораФайла.ПолноеИмяФайла = Элемент.Значение;

Если ДиалогФыбораФайла.Выбрать() Тогда
Элемент.Значение = ДиалогФыбораФайла.ПолноеИмяФайла;
ЗаполнитьЛисты();
КонецЕсли;

КонецПроцедуры

Процедура ЗаполнитьЛисты()

ЭлементыФормы.Листы.СписокВыбора.Очистить();
Таблица = ПолучитьCOMОбъект(Файл);

Для Н = 1 По Таблица.Sheets.Count Цикл
ТекущийЛист = Строка(Таблица.Sheets(Н).Index) + ". " + Таблица.Sheets(Н).Name;
ЭлементыФормы.Листы.СписокВыбора.Добавить(ТекущийЛист);
КонецЦикла;
ЭлементыФормы.Листы.Значение = ТекущийЛист;

КонецПроцедуры

 

Скачать пример

Опубликовано 27.12.2013. Автор — Антон Колимбетов.