Имя: Пароль:
1C
1С v8
Эксель. Не могу определить последнюю строку и столбец
0 Галахад
 
гуру
19.12.12
13:31
Оба варианта возвращают 1. Почему?

   Книга = Эксель.WorkBooks.Open(ИмяФайла);
   ЛистЭксель = Книга.WorkSheets(1);  
       
   ВсегоСтрок = ЛистЭксель.Cells.SpecialCells(11).Row;
   ВсегоКолонок = ЛистЭксель.Cells.SpecialCells(11).Column;
   
   первИспСтрока = ЛистЭксель.UsedRange.Row;    
   ВсегоСтрок1 = первИспСтрока + ЛистЭксель.UsedRange.Rows.Count -1;    
   первИспСтолбец = ЛистЭксель.UsedRange.Column;    
   ВсегоСтолбцов1 = первИспСтолбец + ЛистЭксель.UsedRange.Columns.Count -1;
1 Wobland
 
19.12.12
13:33
Excel=Новый COMОбъект("Excel.Application");
       ExcelFile=Excel.Workbooks.Open(Файл);
   Sheet=ExcelFile.Sheets(1);
   ПоследняяСтрока=Sheet.Cells.SpecialCells(11).Row;
2 Fragster
 
гуру
19.12.12
13:33
(0) значит там кто-то в файле область данных установил криво
3 Галахад
 
гуру
19.12.12
13:35
(1) Гм. не вижу разницы...

(2) Как поправить?
4 Wobland
 
19.12.12
13:37
(3) а я вижу
5 zladenuw
 
19.12.12
13:39
(4) и я вижу :)
6 zladenuw
 
19.12.12
13:39
(4) тест на внимательность :)
7 Галахад
 
гуру
19.12.12
13:41
Внес правку:
       //ЛистЭксель = Книга.WorkSheets(1);  
       ЛистЭксель = Книга.Sheets(1);  
Не помогло.
8 Reset
 
19.12.12
13:43
у меня оба вариант работают
(чем отличается, не знаю, не экселянт)
9 КуплюКровать
 
19.12.12
13:44
для другого листа работает?
10 Галахад
 
гуру
19.12.12
13:45
(9) Да.
11 dk
 
19.12.12
13:52
Сообщить("1 - " + ЛистЭксель.UsedRange.Rows.Count);
Сообщить("2 - " + ЛистЭксель.UsedRange.Cells(ЛистЭксель.UsedRange.Rows.Count,1).Row);
12 КуплюКровать
 
19.12.12
14:08
может быть формат файла другой, типа ексел97, может файл не вручную создавался и область не прописана - попробуй щелкнуть на середине и перезаписать