Имя: Пароль:
1C
 
Активный лист Excel
0 Renat11111
 
16.09.10
11:53
с утра туплю. Хочу установить активный лист excel при открытии... чет не получается... нашел в нете setActiveSheetIndex не работает. подскажет кто?
1 skunk
 
16.09.10
11:55
Sheets("Лист2").Select
2 Fragster
 
гуру
16.09.10
11:56
а ...ActiveSheet = ...Sheets(номер) не работает? а зачем его вообще устанавливать?
3 Aprobator
 
16.09.10
11:59
(0) зачем? Эксель визуально что ли открываем?
4 Renat11111
 
16.09.10
11:59
(2) надо потому что загрузка всегда идет с первого листа. а на остальных записи какие то тупые делают.
5 Renat11111
 
16.09.10
12:01
чет торможу как вот после этого сделать активным первый Лист. строчку чиркните кому не лень?

Ексель = Новый  COMОбъект("Excel.Application");
   Попытка
       Файл = Ексель.Application.Workbooks.Open(Диалог.ПолноеИмяФайла);    
   Исключение
       Сообщить(ОписаниеОшибки(),СтатусСообщения.Важное);
       Возврат;
   КонецПопытки;
6 Fatum1980
 
16.09.10
12:03
НашЛист = Файл.Sheets(1); //Устанавливаем нужный лист  - лист №1
7 Renat11111
 
16.09.10
12:03
проблема просто у меня когда точку останова ставлю. смотрю какие методы доступны для Файл подвисает комп по три четыре минуты виснет. так не поэксперементируешь знать надо точно.
8 Fragster
 
гуру
16.09.10
12:04
(4) бугагагггаааааааа
9 Fragster
 
гуру
16.09.10
12:05
Лист = файл.ActiveSheet замени на Лист = файл.Sheets(номер листа)
10 Renat11111
 
16.09.10
12:08
(9) так если че сделаю просто кучу кода менять надо будет там строк 300... например:
//Файл.ActiveSheet = Файл.Sheets(1);
   ТабЧасть = Часть1;
   Для каждого ТекСтр Из ТабЧасть Цикл
       НомСтроки = ТекСтр.ОбщаяИнформацияОВкладах.Код;
       ТекСтр.ПолноеНаименованиеИнформации = Файл.ActiveSheet.Cells(НомСтроки,2).Value;    
       Если Файл.ActiveSheet.Cells(НомСтроки,3).Value <> Неопределено Тогда
           ТекСтр.Сумма                        = ВернутьЧисло(Файл.ActiveSheet.Cells(НомСтроки,3).Value);    
       КонецЕсли;
       Если Файл.ActiveSheet.Cells(НомСтроки,4).Value <> Неопределено Тогда
           ТекСтр.КоличествоВкладов            = ВернутьЧисло(Файл.ActiveSheet.Cells(НомСтроки,4).Value);    
       КонецЕсли;
       Если Файл.ActiveSheet.Cells(НомСтроки,5).Value <> Неопределено Тогда
           ТекСтр.КоличествоВкладчиков            = ВернутьЧисло(Файл.ActiveSheet.Cells(НомСтроки,5).Value);    
       КонецЕсли;
   КонецЦикла;
11 Renat11111
 
16.09.10
12:10
тоесть интересует как все же можно активный лист установить чтоб код не менять лень просто

//Файл.ActiveSheet = Файл.Sheets(1);
так вот естественно не работает... но ведь можно наверно как то?
12 smaharbA
 
16.09.10
12:16
за активе надо убивать
13 Renat11111
 
16.09.10
12:18
(12) ясно тогда переделываем активно ))))
14 Fatum1980
 
16.09.10
12:19
http://citforum.ru/programming/windows/excel_faq/
(11) во всех поисковиках наверное забанили да?
15 Renat11111
 
16.09.10
12:24
(14) не забанили. Просто туман в голове, бывает иногда. А когда быстро надо то легче на мисту, чем самому разбираться. всем спасибо за ликбез.
16 smaharbA
 
16.09.10
12:24
....Worksheets(2).Activate();

не ни сколько не отменяет (12)
17 smaharbA
 
16.09.10
12:25
(15) нажми ф1 в екселе
18 Fragster
 
гуру
16.09.10
14:01
за обращение через 2 точки больше одного раза - нужно бить по почкам
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн