Имя: Пароль:
1C
1С v8
Вывод печатной формы в Excel
0 fantomrik
 
15.04.13
23:09
Доброго времени суток!
С выводом в ворд работал, с Экселем столкнулся в первый раз. Гуглю, разбираюсь. Собственно вопрос - делаю простейший поиск и замену, но. Если открыта была какая либо книга до запуска процедуры в винде - поиск и замена почему то происходят в ней а не в книге из макета. Подскажите в чем проблема мб?

    Макет = ПолучитьМакет("ДМС");
    MSExcel = Макет.Получить();
   
    Книга = MSExcel.Application.Workbooks(1);
    Лист = Книга.Worksheets(1);
    Диапазон = Лист.Cells;
   
    //Лист.Cells(5, 2).Value = Организация.НаименованиеПолное;
    //... и т.д. ....
   
    //Выбираем область поиска - весь лист
    ОбластьПоиска = Лист.Cells;
   
    // Укажем начало листа
    НачалоЛиста = Диапазон.Cells(1, 1);
   
    // Ищем ячейку с текстом, указанным в переменной ТекстДляПоиска,
    //укажем откуда искать - с начала листа
   
    ТекстДляПоиска = "от" ;
    ОбластьПараметр = ОбластьПоиска.Find(ТекстДляПоиска, НачалоЛиста);
   
    // Если нашли, заполняем значением из переменной Значение
    Если ОбластьПараметр <> неопределено Тогда
        ОбластьПараметр.Value = "РРРРРР";
    КонецЕсли;
   
    MSExcel.Application.Visible = 1;
    MSExcel.Windows(1).Visible = 1;
    MSExcel.Activate();
   

П.с. Как сворачивают код на форуме в строку "Code+" ?
1 fantomrik
 
15.04.13
23:09
А это от длины зависит видимо )))
2 KUBIK
 
15.04.13
23:24
(0) А сначала описать объект, с чем работать, забыл?
3 fantomrik
 
16.04.13
09:06
(2) не является разве описанием это?

Макет = ПолучитьМакет("ДМС");
MSExcel = Макет.Получить()
4 НЕА123
 
16.04.13
09:21
(3)
в (2) намек на последние три строчки.
5 fantomrik
 
16.04.13
09:31
(4) Если вы имеете ввиду сразу после получения макета сделать видимым окно екселя, то это ни чего не меняет, только что проверил.
6 fantomrik
 
16.04.13
09:55
Заменив 3ю строчку на
Книга = MSExcel;
получил что хотел. Единственное даже при закрытии открываемого документа, следующий открывается как "книга №" + 1. То есть книга1, книга2 и тд. Хотелось бы всегда книгу1 получать а при не закрытой книге1 - книгу2 и тд. Заранее спасибо если кто подскажет как это доделать!
7 Wobland
 
16.04.13
09:59
правильно записывать человеческий ТабДок не предлагали ещё?
8 fantomrik
 
16.04.13
10:05
(7) Имя переменной повлияет на результат?
9 Wobland
 
16.04.13
11:24
(8) тип, а не имя. с ТабДоком проще возиться
10 MiniMuk
 
16.04.13
12:34
(0) Собственно
Книга = MSExcel.Application.Workbooks(1);//Получение ПЕРВОЙ открытой книги
11 MiniMuk
 
16.04.13
12:39
(9) зато пользователь ругается что мои букавки не такие как моем файле. а по екселевскому макету можно послать, сам такой макет дал