Имя: Пароль:
1C
1C 7.7
v7: Найти имя/имена листов экселя
0 Лалым
 
05.10.15
21:45
Есть файл экселя от разных поставщиков, необходимо дописать в каждый файл пару строк. проблема в том что листы имеют разные имена, у каждого поставщика свое имя листа.
Можно ли получить имя листа из открытой книги, если можно то пример кода
1 vde69
 
05.10.15
21:51
2 abibas
 
05.10.15
21:59
Если excel не установлен:
DB = Новый COMОбъект("ADODB.Connection");
    Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ФайлXLS+";Extended Properties=""Excel 8.0;HDR=NO;;IMEX=1;""";
    DB.ConnectionString = Str;
    DB.Open();
    DB.CursorLocation = 3;
    
    axCatalog = Новый COMОбъект("ADOX.Catalog");                                                
    axCatalog.ActiveConnection = DB;
    
    спЛисты = Новый СписокЗначений;
    Для Каждого Лист ИЗ axCatalog.Tables Цикл
        ИмяЛиста = Лист.Name;
        спЛисты.Добавить(ИмяЛиста);
    КонецЦикла;
    
    ИмяЛиста = спЛисты.ВыбратьЭлемент();
3 Лалым
 
05.10.15
22:01
(1) Клюшки (2) Ексель установлен
4 abibas
 
05.10.15
22:02
Тогда (1) проще переделать. Недосмотрел про 7.7.
5 abibas
 
05.10.15
22:17
Как-то так
ИмяФайла = "e:\Docs\бюджет.xls";
BaseOLE = СоздатьОбъект("Excel.Application");
Файл = BaseOLE.WorkBooks.Open(ИмяФайла);
КоличествоЛистов = Файл.Sheets.Count;
Сп = СоздатьОбъект("СписокЗначений");
Для е = 1 по КоличествоЛистов Цикл
Сп.ДобавитьЗначение(Файл.Sheets(е).name);
КонецЦикла;
Сп.ВыбратьЗначение(1);
Файл .Close();
BaseOLE = "";
6 Лалым
 
05.10.15
22:18
(4) Количество листов определляется нормально
можно ли обратиться к листу по его номеру как к имени
Лист=Книга.WorkSheets("Venta");
?
7 HawkEye
 
05.10.15
22:48
(6) да
8 SiAl-chel
 
06.10.15
06:54
(6) Вот жеж, юлин, ленивое поколение ЕГЭ то выросло.
Надо уметь оперировать источниками:
https://msdn.microsoft.com/en-us/library/office/ff822101.aspx
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.