Имя: Пароль:
1C
1С v8
1С8.3. Запись данных в Excel файл
0 Casper211
 
13.06.16
11:19
Привет. У меня есть какие-то значения в 1С. Я должен найти колонку в Excel файле, которая мне нужна в ней поменять значения (больше ничего не меняя в документе) з 1С . Или даже найти какую-то одну ячейку в Excel файле и там поменять. Как это можно сделать?


        Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    Диалог.Заголовок = "Выберите имя файла для сохранения";
    Диалог.МножественныйВыбор = Ложь;
    Диалог.Фильтр = "Файл MS Excel (*.xlsx)| *.xlsx";
        Если Диалог.Выбрать() Тогда
        
        ФайлДанных = Диалог.ПолноеИмяФайла;
        //подключаемся к MS Excel
        Попытка
            Excel = Новый COMОбъект("Excel.Application");
        Исключение
            Сообщить(ОписаниеОшибки());
            Возврат;
        КонецПопытки;
        Попытка
        Книга = Excel.WorkBooks.Open(ФайлДанных);    
                        
                        
        Исключение            
            Excel.Quit();
            Сообщить(ОписаниеОшибки());
            Возврат;
        КонецПопытки;
        
        Попытка
            Книга.SaveAs(ФайлДанных);
            Сообщить("Файл " + ФайлДанных + " успешно сохранен");
        Исключение
            Сообщить(ОписаниеОшибки() + " Файл не сохранен!");
            Возврат;
        КонецПопытки;
        
        Попытка            
            Excel.Quit();
        Исключение            
            Сообщить(ОписаниеОшибки());
            Возврат;
        КонецПопытки;
        
    КонецЕсли;


Как-то так читаю и что-то записывает. Но мне кажется что таким методом файл полностью перезаписывает. Возможно у кого-то пример? Или статья какая-то. Буду рад любой помощи.
1 Nuobu
 
13.06.16
11:23
Я не вижу строчки, где ты ищешь определённые ячейки с определёнными значениями и меняешь в них данные?
2 Casper211
 
13.06.16
11:30
(1) Лист = Книга.WorkSheets(1);
потом
Лист .Cells(НомерСтроки, НомерКололнки).Value = Значение;
3 Nuobu
 
13.06.16
11:34
(2) В (0): "Я должен найти колонку в Excel файле, которая мне нужна в ней поменять значения (больше ничего не меняя в документе) з 1С".

Ты ПЕРЕЗАПИСЫВАЕШЬ весь файл - это правильно. В задании говорится не про перезапись его какой-то части, а про изменение его какой-то части. т.к. я не вижу весь код, то могу только предполагать. Покажи весь код.