|
Как правильно выбрать Лист Excel из списка значений поля ввода? | ☑ | ||
---|---|---|---|---|
0
geka-geka
20.01.12
✎
09:19
|
Делаю так:
СписокВыбораЛисты = ЭлементыФормы.ПолеВвода1.СписокВыбора; СписокВыбораЛисты.Очистить(); Для ТекущийНомерЛиста = 1 По КоличествоЛистов Цикл СписокВыбораЛисты.Добавить(Excel.WorkSheets(ТекущийНомерЛиста),Excel.WorkSheets(ТекущийНомерЛиста).Name); КонецЦикла; Лист = СписокВыбораЛисты.ВыбратьЭлемент("Выбор листа",1); Реквизит Лист с типом "Произвольный" Когда проходит метод "ВыбратьЭлемент" - все нормально, а после выбора из списка значением ПолеВвода1 становится строка "Com-объект", хотя ПолеВвода1.СписокЗначений содержит все листы. |
|||
1
Рэйв
20.01.12
✎
09:20
|
Все верно.Листы - COM объекты. Чего еще надо то?
|
|||
2
geka-geka
20.01.12
✎
09:24
|
Надо чтобы после выбора из списка значением ПолеВвода1 становилось не строка "Com-объект", а элемент из ПолеВвода1.СпискаЗначений
|
|||
3
Rusty Nail
20.01.12
✎
09:26
|
(2) ну сделай еще реквизит
|
|||
4
Рэйв
20.01.12
✎
09:28
|
(2)Оно и становится элементом. Элемент у тебя как раз СОМ объект
|
|||
5
geka-geka
20.01.12
✎
09:37
|
Код в (0) я делаю, из процедуры при открытии формы:
Лист = СписокВыбораЛисты.ВыбратьЭлемент("Выбор листа",1); там Элемент из списка значений, но когда после того ка форма уже открылась после выбора из списка, значением Лист и соотвестсвенно ПоляВВода1 становится строка "Com-объект". Я бы хотел чтобы в поле ввода было значение из списка значений ПоляВВода |
|||
6
Рэйв
20.01.12
✎
09:39
|
(5)Ты определись что тебе надо ЗНАЧЕНИЕ или ПРЕДСТАВЛЕНИЕ?
|
|||
7
geka-geka
20.01.12
✎
09:40
|
Вообще представление, но там ни то и не другое
|
|||
8
Рэйв
20.01.12
✎
09:41
|
(7)Там значение.Твой лист есксель
|
|||
9
geka-geka
20.01.12
✎
09:42
|
(7) там левая строка "СОМ-объект"
|
|||
10
Рэйв
20.01.12
✎
09:42
|
(9)Это не левая строка:-)..Это твой лист, я же говорю
|
|||
11
geka-geka
20.01.12
✎
09:43
|
у листа тип "СОМ-объект", у строки тип "Строка"
|
|||
12
DSatan
20.01.12
✎
09:47
|
СписокЛистов = Новый СписокЗначений;
КоличествоЛистов = ExcelФайл.Sheets.Count; Если КоличествоЛистов = 1 Тогда ВыбранныйЛист = ExcelФайл.Sheets(1); Иначе Для а = 1 По КоличествоЛистов Цикл //Лист = ExcelФайл.Sheets(а); СписокЛистов.Добавить(а, ExcelФайл.Sheets(а).Name); КонецЦикла; ИмяЛиста = СписокЛистов.ВыбратьЭлемент("Выберите лист Excel с данными для закачки", ВыбранныйЛист); Если ИмяЛиста = Неопределено Тогда Предупреждение("Не выбран лист Excel с данными для загрузки!"); ExcelПриложение.Quit(); Возврат; Иначе ВыбранныйЛист = ExcelФайл.Sheets(ИмяЛиста.Представление); КонецЕсли; КонецЕсли; |
|||
13
vmv
20.01.12
✎
09:49
|
(0)
1. сделать обход листов эксель-файла через ком 2. в цикле обхода заполнить список значений листов 2. в итерации цикла: значение элемента ком-объект(лист эксель), представление строка ("Лист № " + НомерЛиста) 4. на форме создать поле выбора из полученного списка. усе, крой топ, 500К в кассу |
|||
14
vmv
20.01.12
✎
09:50
|
+(12) или значение списка номер листа, чтобы не юзать ком в списке, сгласен
|
|||
15
Рэйв
20.01.12
✎
09:52
|
(11)Про неявное приведение типов слышал? Если нет то погугли:-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |