|
1C и Excel объединена ли ячейка? | ☑ | ||
---|---|---|---|---|
0
Alexprik
07.09.12
✎
09:47
|
Каким методом можно это проверить?
|
|||
1
vmv
07.09.12
✎
09:50
|
вижуал бейскик открой в екзеле и почитай, алфавит знаешь саксонский?
|
|||
2
Alexprik
07.09.12
✎
09:52
|
(1) ))
|
|||
3
Alexprik
07.09.12
✎
10:00
|
(1) нашёл MergeCells, но это именно объединение ячейки
|
|||
4
vmv
07.09.12
✎
10:02
|
(3) +1 к силе, так и дотелепаешь до 80-го уровня, только упорство, только настойчивость, только хардкор!
|
|||
5
Alexprik
07.09.12
✎
10:03
|
(4) а подсказать не судьба? )
|
|||
6
mzelensky
07.09.12
✎
10:04
|
(1) тебе что, жена сегодня не дала? чего такой злой? Что не пост, то какой-то вброс негатива.
|
|||
7
Alexprik
07.09.12
✎
10:05
|
(6) а если по теме?
|
|||
8
vmv
07.09.12
✎
10:07
|
(6) это разминка чувак, ты с какова района?
|
|||
9
mzelensky
07.09.12
✎
10:10
|
(8) Района чего? Города?
|
|||
10
smaharbA
07.09.12
✎
10:14
|
(3) это именно, что тебе надо
+ mergearrea.address |
|||
11
Alexprik
07.09.12
✎
10:18
|
(10) Спасибо. Большое! )
|
|||
12
Alexprik
07.09.12
✎
11:53
|
(10) странно, но
если Book.Range( "a" + Строка(СтрокаЛиста) ).MergeArrea.Address = "a" + Строка(СтрокаЛиста) тогда Метод объекта не обнаружен (Range) |
|||
13
smaharbA
07.09.12
✎
12:00
|
ничего не странно, об этом не однократно говарено
|
|||
14
Alexprik
07.09.12
✎
12:00
|
(13) в чём ошибка?
|
|||
15
Alexprik
07.09.12
✎
12:01
|
(12) Range для листа или для книги? и так и так пробовал
|
|||
16
Alexprik
07.09.12
✎
12:02
|
Book = Excel.Workbooks.Open( ЭлементыФормы.ВыбранныйФайл.Значение );
ЭлементыФормы.ПолеСписка1.Видимость = Истина; ЭлементыФормы.Надпись2.Видимость = Истина; ЭлементыФормы.ТабличноеПоле1.Значение.Очистить(); ЭлементыФормы.ПолеСписка1.Значение.Очистить(); ЭлементыФормы.ПолеСписка1.Значение.Добавить( "Начало обработки файла..." ); Счётчик = 0; Профессии = Справочники.ПрофессииПрофессиональнойПодготовки; для ТекущийЛист = 1 по 1 цикл ExcelList = Book.Sheets(ТекущийЛист); Сообщить("Лист открыт!!!!"); СтрокаЛиста = 2; для СтрокаЛиста = 2 по 5157 цикл если Book.Range( "a" + Строка(СтрокаЛиста) ).MergeArrea.Address = "a" + Строка(СтрокаЛиста) тогда ТекущаяГруппа = ExcelList.Cells(СтрокаЛиста, 1).Value; НоваяГруппа = Профессии.СоздатьГруппу(); НоваяГруппа.Наименование = ТекущаяГруппа; НоваяГруппа.Записать(); КоличествоГрупп = КоличествоГрупп + 1; СтрокаЛиста = СтрокаЛиста + 1; иначе НоваяСтрока = ЭлементыФормы.ТабличноеПоле1.Значение.Добавить(); НоваяСтрока.Код = ExcelList.Cells(СтрокаЛиста, 2).Value; НоваяСтрока.Наименование = ExcelList.Cells(СтрокаЛиста, 3).Value; НоваяСтрока.НаименованиеГруппы = ТекущаяГруппа; СтрокаЛиста = СтрокаЛиста + 1; Счётчик = Счётчик + 1; КонецЕсли; Счётчик = Счётчик + 1; КонецЦикла; КонецЦикла; ЭлементыФормы.ПолеСписка1.Значение.Добавить( "Обработано строк: " + Строка(Счётчик) ); ЭлементыФормы.ПолеСписка1.Значение.Добавить( "Загрузка завершена." ); Сообщить("Импорт данных успешно завершен."); Исключение Сообщить(ОписаниеОшибки()); Excel.Application.Quit(); КонецПопытки; |
|||
17
smaharbA
07.09.12
✎
12:04
|
в самом начале нужно разделять объекты и обращаться к их методам
Ексель= Книги=Ексель.Workbooks; Книга=Книги.Item(NNN); или Книга=Книги.Add(); или Книга=Книги.Open(Файл); Листы=Книга.WorkSheets; Лист=Листы.Item(NNN); или Лист=Листы.Add(); Ячейки=Лист.Cells; и т.д. |
|||
18
Alexprik
07.09.12
✎
12:09
|
Попытка
Excel = новый COMОбъект("Excel.Application"); Исключение Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel."); Возврат; КонецПопытки; Попытка Books = Excel.Workbooks; Book = Books.Open( ЭлементыФормы.ВыбранныйФайл.Значение ); Lists = Book.WorkSheets; ЭлементыФормы.ПолеСписка1.Видимость = Истина; ЭлементыФормы.Надпись2.Видимость = Истина; ЭлементыФормы.ТабличноеПоле1.Значение.Очистить(); ЭлементыФормы.ПолеСписка1.Значение.Очистить(); ЭлементыФормы.ПолеСписка1.Значение.Добавить( "Начало обработки файла..." ); Счётчик = 0; Профессии = Справочники.ПрофессииПрофессиональнойПодготовки; для ТекущийЛист = 1 по 1 цикл ExcelList = Lists.Item(ТекущийЛист); Сообщить("Лист открыт!!!!"); СтрокаЛиста = 2; для СтрокаЛиста = 2 по 5157 цикл если ExcelList.Range( "a" + Строка(СтрокаЛиста) ).MergeArrea.Address = "a" + Строка(СтрокаЛиста) тогда ТекущаяГруппа = ExcelList.Cells(СтрокаЛиста, 1).Value; НоваяГруппа = Профессии.СоздатьГруппу(); НоваяГруппа.Наименование = ТекущаяГруппа; НоваяГруппа.Записать(); КоличествоГрупп = КоличествоГрупп + 1; СтрокаЛиста = СтрокаЛиста + 1; иначе НоваяСтрока = ЭлементыФормы.ТабличноеПоле1.Значение.Добавить(); НоваяСтрока.Код = ExcelList.Cells(СтрокаЛиста, 2).Value; НоваяСтрока.Наименование = ExcelList.Cells(СтрокаЛиста, 3).Value; НоваяСтрока.НаименованиеГруппы = ТекущаяГруппа; СтрокаЛиста = СтрокаЛиста + 1; Счётчик = Счётчик + 1; КонецЕсли; Счётчик = Счётчик + 1; КонецЦикла; КонецЦикла; ЭлементыФормы.ПолеСписка1.Значение.Добавить( "Обработано строк: " + Строка(Счётчик) ); ЭлементыФормы.ПолеСписка1.Значение.Добавить( "Загрузка завершена." ); Сообщить("Импорт данных успешно завершен."); Исключение Сообщить(ОписаниеОшибки()); Excel.Application.Quit(); КонецПопытки; Поле объекта не обнаружено (MergeArrea) |
|||
19
Alexprik
07.09.12
✎
12:26
|
Всё решилось так
ExcelList.Range( "A" + Строка(СтрокаЛиста) ).MergeCells |
|||
20
Alexprik
07.09.12
✎
12:26
|
Возвращает true или false
|
|||
21
smaharbA
07.09.12
✎
12:33
|
MergeArea
|
|||
22
smaharbA
07.09.12
✎
12:35
|
(20) о чем в (4) и (10)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |