Имя: Пароль:
1C
1С v8
Програмная запись XLS файла
0 bborisko
 
13.06.13
11:13
Нужно заполнить файл XlS из 1С - киньте пару примеров если есть. Спасибо!
1 Wobland
 
13.06.13
11:14
Процедура КнопкаВыполнитьНажатие(Кнопка)
   Попытка
       Состояние("Загрузка Excel...");
       Excel=Новый COMОбъект("Excel.Application");
   Исключение
       Сообщить(ОписаниеОшибки());
       Возврат;
   КонецПопытки;
   Состояние("Открытие файла...");
   ExcelFile=Excel.Workbooks.Open(Файл);
   Состояние("Обработка файла...");
   Sheet=ExcelFile.Sheets(1);
   ПоследняяСтрока=Sheet.Cells.SpecialCells(11).Row;
   ЭлементыФормы.Индикатор.Значение=0;
   ЭлементыФормы.Индикатор.МаксимальноеЗначение=ПоследняяСтрока-8;
   Для стр=8 По ПоследняяСтрока Цикл
       ОбработкаПрерыванияПользователя();
       ЭлементыФормы.Индикатор.Значение=ЭлементыФормы.Индикатор.Значение+1;
       Артикул=СокрЛП(Sheet.Cells(стр, 1).Value);
   КонецЦикла;
   Excel.Quit();
КонецПроцедуры
2 teapot123
 
13.06.13
11:20
ТабДокумент = ПечатьМаршрутов();//здесь подготавливаем табличный документ
   
   Если ТабДокумент = "Пустой" Тогда
       Возврат;
   КонецЕсли;
   
   тмпИмя = ПолучитьИмяВременногоФайла("xls");
   ТабДокумент.Записать(тмпИмя, ТипФайлаТабличногоДокумента.XLS97);
   
   ОбъектЕхсел = Новый COMОбъект("Excel.Application");
   Ехсел = ОбъектЕхсел.WorkBooks.Open(тмпИмя);
   
   ПараметрыСтраницы = Ехсел.ActiveSheet.PageSetup;
   ПараметрыСтраницы.RightHeader    = "Маршруты " + Ехсел.ActiveSheet.Cells(3,2).Value;
   ПараметрыСтраницы.RightFooter    = "Страница &P из &N";
   ПараметрыСтраницы.LeftMargin    = 1;
   ПараметрыСтраницы.RightMargin    = 1;
   ПараметрыСтраницы.TopMargin    = 30;
   ПараметрыСтраницы.BottomMargin    = 30;
   ПараметрыСтраницы.HeaderMargin    = 10;
   ПараметрыСтраницы.FooterMargin    = 10;
   ПараметрыСтраницы.Zoom            = Ложь;
   ПараметрыСтраницы.FitToPagesWide = 1;
   ПараметрыСтраницы.FitToPagesTall = 100;
   
   Ехсел.Save();
   Ехсел.Close();
   ОбъектЕхсел.Application.Quit();
   ОбъектЕхсел = Неопределено;

   //ЗапуститьПриложение(тмпИмя);
   КомандаСистемы(тмпИмя);
3 bborisko
 
13.06.13
11:21
(1) Спасибо! А как то найти нужную строку можно и уже в нее вписать?

(2) Спасибо, но мне уже в существующий надо вписать значения.
4 Wobland
 
13.06.13
11:27
(3) спроси у мсдн
5 bborisko
 
13.06.13
11:49
А как указать Exel что мне всегда надо сохранять - чтоб не спрашивал сохранять ли изменения?
6 Wobland
 
13.06.13
11:49
(5) дисплай алертс
7 Wobland
 
13.06.13
11:50
ну или саве
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший